Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向传单ajax数据添加自定义图标_Ajax_Leaflet - Fatal编程技术网

向传单ajax数据添加自定义图标

向传单ajax数据添加自定义图标,ajax,leaflet,Ajax,Leaflet,我需要在一些JSON数据中添加一个自定义图标,我正在使用传单ajax()将其拉入传单映射中,但我不知道如何做到这一点 有什么建议吗?以下是我获取数据的方式: 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.g

我需要在一些JSON数据中添加一个自定义图标,我正在使用传单ajax()将其拉入传单映射中,但我不知道如何做到这一点

有什么建议吗?以下是我获取数据的方式:

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");
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(地图);
geojsonLayerIncidents.bindPopup(“事件或事故尽可能避免”;
geojsonLayerRoadworks.addTo(地图);
geojsonLayerRoadworks.bindPopup(“道路工程尽可能避免”);

我想要一个用于事故的图标,另一个用于道路工程的图标。嗯,在您的场景中,可以使用其他最佳方式来使用自定义图标。但现在,你可以试试这种方法

首先创建一个自定义图标,如下所示

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);
                                }
                            });

这是一个有效的

你是指JSON数据的自定义标记吗?请参阅对原始帖子的编辑,但要回答你的问题,请回答“是”。我想要一个事故图标和另一个道路标记图标。THX检查一下: