Я пытаюсь нарисовать линию Дуная в Leaflet, но не могу. Линия отображается, но цвет не меняется. Это код, с которым я работаю:
var mymap = L.map('mapid').setView([48, 20], 5);
var danubeData = new L.GeoJSON.AJAX("danuberiver.json");
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 18,
id: 'mapbox/light-v10',
tileSize: 512,
zoomOffset: -1
}).addTo(mymap);
var danubeLine = danubeData.setStyle({color: 'black', weight: 3}).addTo(mymap);
Он просто отображается как синий по умолчанию. Как я могу это изменить?
1 ответ
Если вы хотите установить стиль после загрузки, вам нужно сделать это в прослушивателе событий layeradd
, но вы также можете передать стиль в качестве опции в L.GeoJSON.AJAX
:
var danubeData = new L.GeoJSON.AJAX("danuberiver.json", { style: {color: 'black', weight: 3} });
Вот пример: https://codepen.io/kaveh/pen/GRoagxZ
И вот аналогичная проблема на странице плагина Github: https://github.com/calvinmetcalf / leaflet-ajax / issues / 5
Похожие вопросы
Новые вопросы
ajax
AJAX (асинхронный JavaScript и XML) — это метод создания интерактивных пользовательских интерфейсов веб-сайтов без традиционного обновления или перезагрузки веб-страницы. Он использует асинхронный обмен данными между клиентом и сервером, чтобы обновлять отображаемую информацию и беспрепятственно реагировать на взаимодействие с пользователем. Включите дополнительные теги для языков программирования, библиотек, фреймворков, веб-браузеров, протоколов и другой информации об окружающей среде.