我遇到地理编码器没有显示每个标记的标题的问题。这是代码:
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中的总菜鸟,所以,如果你愿意将技术谈话降低到我的愚蠢水平,并以蹩脚的方式指出,那么问题是什么以及如何解决它?请
答案 0 :(得分:0)
谷歌地图地理编码服务(个人)只允许每秒10个请求或接近该请求的内容。尝试减少您的请求以说出2或3个地址,如果这样可以正常工作,那么您必须离线地理编码并从生成的lat和long中创建标记。