微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用AJAX调用将GeoJSON数据拉入Leaflet

所以我正在尝试使用Leaflet发布MapBox地图,并希望通过 AJAX调用从外部数据源添加一些标记.具体来说,我用 this data set映射出纽约市的所有wifi点.我看到它说我可以在JSON下载wifi位置,但我仍然在努力教自己如何编码,不知道该怎么做从那里做.

以下是MapBox使用您站点目录中托管的.js提供的示例.如果我做一个AJAX调用会是什么样子?

<script src="museums.js"></script>
<script type="text/javascript">
// Define a GeoJSON data layer with data
var geojsonLayer = new L.GeoJSON();

// display the name property on click
geojsonLayer.on('featureparse',function (e) {
    if (e.properties && e.properties.name){
    e.layer.bindPopup(e.properties.name);
}
});

geojsonLayer.addGeoJSON(data);

// Add the GeoJSON layer
map.addLayer(geojsonLayer);
</script>

解决方法

在您链接到wifi点数据集后,告诉我您可以从此URL: wifi spot调用json数据

问题是生成的json没有以GEOJSON格式(Wikipedia)格式化…

如果你有一个url给你有效的GEOJSON,你可以使用jQuery以下面的方式进行Ajax调用

$.ajax({
    type: "POST",url: "https://nycopendata.socrata.com/api/views/ehc4-fktp/rows.json",dataType: 'json',success: function (response) {

        geojsonLayer = L.geoJson(response,{
            style: yourLeafletStyle
        }).addTo(map);
    }
});

问候

艾蒂安

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐