所以我正在尝试使用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] 举报,一经查实,本站将立刻删除。