0

ジオコーダが各マーカーのタイトルを表示しないという問題があります。コードは次のとおりです。

var map;
var marker = [];
function gmap_initialize() {        
    var ikonica = templateDir+'/images/gmap/gmap_pointer_and_shadow.png';
    var map_canvas = document.getElementById('gmap');   
    var my_latlan = new google.maps.LatLng(45.55496, 18.69551);
    var map_options = {
        center: my_latlan,
        zoom: 13,     
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(gmap, map_options);

    var geocoder = new google.maps.Geocoder();
    //js_adrese below is actually an array that contains addresses  
    for (i=0; i<js_adrese.length; i++)
    {           
        geocoder.geocode( {'address': js_adrese[i]}, function(results, status) {        
        if (status == google.maps.GeocoderStatus.OK) 
        {               
            var x = results[0].geometry.location.lat();
            var y = results[0].geometry.location.lng();             
            marker[i] = new google.maps.Marker({                    
               position: results[0].geometry.location,
               map: map,                   
               icon: ikonica,
               title: js_adrese[i] // undefined in console
            });             
        } 
        else 
        {
            alert("Geocode failed. Reason: " + status);
        }
    });     
}
};

なんとかタイトルを表示すると、js_adrese[i] の最後の値のみが表示されるため、各マーカーには同じタイトルが付けられます。

重要: 私は js と google api のまったくの初心者です。よろしければ、技術的な話を私のばかげたレベルまで下げて、下手な言葉で指摘していただければ、何が問題で、どのように解決すればよいでしょうか? お願いします

4

1 に答える 1

0

Google マップ ジオコード サービス (パーソナル) では、1 秒あたり 10 リクエストまたはそれに近いリクエストしか許可されません。2 つまたは 3 つの住所を言うリクエストを減らしてみてください。それが正しく機能する場合は、オフラインでジオコーディングし、生成された緯度と経度からマーカーを作成する必要があります。

于 2013-03-29T19:16:38.357 に答える