2011-12-29 6 views
0

Google Maps API V3を使用してマーカを表示するのに問題があります。Google Maps API:JSON to jQuery

これは私のJavaScriptのである:

{"markers": [ 
    {"text":"Ondertekenen koopverkoopcontract", "latitude":-12.917239,  "longtitude":-38.48209}, 
    {"text":"Openen documentair krediet", "latitude":51.218584, "longtitude":4.40413}, 
    {"text":"Transport van producent naar haven Salvador", "latitude":51.22952, "longtitude":4.411617}, 
    {"text":"Vertrek naar haven Antwerpen", "latitude":-12.968114, "longtitude":-38.511543}, 
    {"text":"Aankomst haven Antwerpen + vertrek naar Transibel", "latitude":51.22952, "longtitude":4.411617}, 
    {"text":"Aankomst Transibel", "latitude":51.094863, "longtitude":4.12973}, 
    {"text" : "center point", "latitude":28.767659, "longtitude":-31.640625} 
]} 

私は、地図上の任意のマーカーを見ることができない。ここで

function getMap(zoom, center) { 
var myOptions = { 
    zoom: zoom, 
    center: center, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
var map = new google.maps.Map(document.getElementById("map"), myOptions); 

var marker = new google.maps.Marker({ position: centerBegin }) 
$.getJSON('json/markers.json', function (data) { 
    $.each(data, function (i, marker) { 

     var markerOptions = { map: map, position: new google.maps.LatLng(marker.latitude, marker.longtitude) , title: 'test'}; 
     var marker = new google.maps.Marker(markerOptions); 
     /*var marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(marker.latitude, marker.longtitude), 
      content: i.toString(), 
      map: map, 
      title: 'test' 
     });*/ 
    }); 
}); 

}

は私のJSONファイルがあります。誰かがこれで私を助けることができますか?

+0

私はGoogleマップapiに精通していませんが、 'centerBegin'とはどこですか、'; 'は行末にありますか? –

+0

その1つをコメントするのを忘れています:)しかし、まだ動作していません。 – Sllix

答えて

1

投稿したサンプルコードには2つの問題があります。

  1. 反復処理data以上、あなたが本当にdata['markers']を反復処理します。 JSONファイルを見ると、arrayではなく、要素のマーカー情報がarrayobjectであることがわかります。

  2. グラフィックス指摘のような変数の過剰使用。

+0

ありがとうございます!それは今働く。 – Sllix

+0

@Sixxこの回答が機能する場合は、この回答の左側にあるチェックマークをクリックして、これを選択した回答として選択する必要があります。 – jlafay

0

eachループの中にを再宣言しているようですが、下にハイライト表示されています。

$.each(data, function (i, marker) { 
//--------------------------^ 
    // [...] 
    var marker = new google.maps.Marker(markerOptions); 
//--------^ 
+0

これはソリューションの一部になる可能性がありますが、これで問題は解決されませんでした。 – Sllix