2017-12-07 12 views
1
for (var f=0; f<group.length; f++) { 
    var longitude = group[f][1]; 
    var latitude = group[f][0]; 
    var popupText = group[f][2]; 

    var markerLocation = new L.LatLng(longitude,latitude); 
    var marker = new L.Marker(markerLocation); 
    mymap.addLayer(marker); 

    marker.bindPopup(popupText); 
} 

リーフレットマーカー

[0] 
[0]53.522753 
[1]-1.126298 
[2]ASB 

私のコンソールが

Uncaught Error: Invalid LatLng object: (undefined, 53.522731) 
    at new M (leaflet.js:5) 
    at create_marker (hello.html:212) 
    at JSON_callback (hello.html:169) 
    at XMLHttpRequest.xmlhttp.onreadystatechange (requests.js:26) 

var group = []; 
var n = 3; 

for (var i = 0, j = 0; i < current_lat_lng.length; i++) { 
    if (i >= n && i % n === 0) 
     j++; 
    group[j] = group[j] || []; 
    group[j].push(current_lat_lng[i]) 
} 

は、私が思う設定グループは、オブジェクトが正しいと言っている私のグループ配列は、このフォーマットであります?なぜこれが起こっているのか分かりません。どんな助けでも感謝しています。

+0

[0] [1]'? – dimwittedanimal

+0

最初の投稿が更新されました! – Adam

+0

@Adam 'L.LatLng(経度、緯度)':または変数が間違っているか、それらの順序が!あなたがそれらを正しく扱っていることを確認してください。 – falsarella

答えて

1

は、以下のことを試してみてください。

あなたはグループ `の値を設定してください
for (var f=0; f<group.length; f++) { 
    var longitude = group[f][1]; 
    var latitude = group[f][0]; 
    var popupText = group[f][2]; 

    if (longitude && latitude && popupText) { 
     L.marker([latitude, longitude]).bindPopup(popupText).addTo(mymap); 
    } else { 
     console.error('group[' + f + '] has invalid entries:'); 
     console.error('longitude', longitude); 
     console.error('latitude', latitude); 
     console.error('popupText', popupText); 
    } 
} 
+0

これはより良い練習ですが、私は彼が直面しているエラーを修正するとは思わない。 – dimwittedanimal

+1

あなたの編集が好きです。デバッグに役立ちます。 – dimwittedanimal

関連する問題