2012-08-06 18 views
5

リーフレットを使用してMapBoxマップを公開しようとしていて、外部データソースからAJAX呼び出しでいくつかのマーカーを追加したいとします。具体的には、NYCのすべてのWiFiスポットをthis data setでマッピングしています。私はJSONでwifiの場所をダウンロードすることができる場所を見ていますが、コード作成の方法を教えて、そこから何をすべきか分かりません。GeoJSONデータをAJAXコールのリーフレットにプル

ここでは、MapBoxがサイトディレクトリにホストされている.jsを使用している例を示します。代わりにAJAX呼び出しを行うとどうなるでしょうか?無線LANスポットデータへのあなたのリンクに続き

<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> 

答えて

7

は、あなたがこのURLからJSONデータを呼び出すことができることを私に示して設定します。wifi spot

問題が生じたJSONがにGeoJSON形式(Wikipedia)でフォーマットされていないということです。 ..あなたが効果的にあなたに有効にGeoJSONを与えるURLを有する場合には

、あなたは次のようにAjax呼び出しを行うためにはjQueryを使用することができます。

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

よろしくお願いいたします。

エティエンヌ

関連する問題