2015-07-24 6 views
2

Мне нужно добавить пользовательский значок к некоторым данным JSON. Я втягиваю карту буклетов с помощью листовки-ajax (https://github.com/calvinmetcalf/leaflet-ajax), но не могу понять, как это сделать.Добавить пользовательский значок в datalet-ajax data

Любые советы? Вот как я получаю мои данные:

var geojsonLayerIncidents = new L.GeoJSON.AJAX("http://131940.qld.gov.au/api/json/v1/events/incident"); 
var geojsonLayerRoadworks = new L.GeoJSON.AJAX("http://131940.qld.gov.au/api/json/v1/events/roadworks"); 

geojsonLayerIncidents.addTo(map); 
geojsonLayerIncidents.bindPopup("<b>Incident or accident</b><p>Avoid if possible<p>"); 
geojsonLayerRoadworks.addTo(map); 
geojsonLayerRoadworks.bindPopup("<b>Roadworks</b><p>Avoid if possible"); 

Я хотел бы иметь один значок для инцидентов, а другой для дорожных работ

+0

Вы имеете в виду пользовательский маркер данных JSON? – FredFury

+0

Смотрите правки в оригинальное сообщение, но чтобы ответить на ваш вопрос, да. Мне нужна иконка для инцидентов, а другая - для дорожных знаков. Thx – user1542125

+1

Отметьте это: http://gis.stackexchange.com/questions/113076/custom-marker-icon-based-on-attribute-data-in-leaflet-geojson – FredFury

ответ

1

Ну, может быть и другие лучшими способами использовать пользовательские иконки в вашем сценарии , Но на данный момент, вы можете попробовать этот способ

Сначала создать пользовательский значок, как этот

var baseballIcon = L.icon({ 
    iconUrl: 'http://leafletjs.com/examples/baseball-marker.png', 
    iconSize: [32, 37], 
    iconAnchor: [16, 37], 
    popupAnchor: [0, -28] 
}); 

Теперь, изменить способ вы добавляете Ajax, как показано ниже

var geojsonLayerIncidents = new L.GeoJSON.AJAX("http://131940.qld.gov.au/api/json/v1/events/incident",{ 
           middleware:function(data){ 
            return L.geoJson(data, { 
             onEachFeature: function (feature, layer) { 
             layer.setIcon(baseballIcon); 
             } 
            }).addTo(map); 
           } 
          }); 

Вот рабочий fiddle

+0

Спасибо большое! – user1542125

+0

Приветственный брат :) – muzaffar

Смежные вопросы