5

だから私は Leaflet で MapBox マップを公開しようとしていて、AJAX 呼び出しで外部データ ソースからいくつかのマーカーを追加したいと考えています。具体的には、このデータセットを使用してニューヨークのすべての Wi-Fi スポットをマッピングしています。JSON で WiFi の場所をダウンロードできると書かれている場所が表示されますが、コーディングの方法を自分で学ぼうとしていて、そこから何をすればよいかわかりません。

これは、サイト ディレクトリでホストされている .js を使用して MapBox が提供する例です。代わりに 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>
4

1 に答える 1

8

wifi スポット データ セットへのリンクをたどると、この URL から json データを呼び出すことができることがわかります: wifi スポット

問題は、結果のjsonがGEOJSON形式(ウィキペディア)でフォーマットされていないことです...

有効な GEOJSON を提供する URL を効果的に持っている場合、次の方法で 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);
    }
});

よろしく

エティエンヌ

于 2012-08-06T22:22:15.050 に答える