地理编码器 - 多个标记不会显示标题

时间:2013-03-29 19:10:32

标签: javascript google-maps google-api title marker

我遇到地理编码器没有显示每个标记的标题的问题。这是代码:

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中的总菜鸟,所以,如果你愿意将技术谈话降低到我的愚蠢水平,并以蹩脚的方式指出,那么问题是什么以及如何解决它?请

1 个答案:

答案 0 :(得分:0)

谷歌地图地理编码服务(个人)只允许每秒10个请求或接近该请求的内容。尝试减少您的请求以说出2或3个地址,如果这样可以正常工作,那么您必须离线地理编码并从生成的lat和long中创建标记。