【发布时间】:2013-04-26 10:32:30
【问题描述】:
我无法使用 Google Maps API v3 显示地图标记。我试图将它们全部保存在一个数组中,以使显示大量相对简单。目前,地图加载正常,但在尝试绘制标记时抛出错误Uncaught TypeError: Object #<Object> has no method 'setValues'。 setTimeout() 运行的每次迭代都会重复该错误。任何建议将不胜感激。
这是使用的 JavaScript:
var map;
var markers = [
[
45.768366,
-108.5975760,
'Fitness 19'
],
[
45.785684,
-108.6144625,
'Granite Fitness'
],
... (more, syntactically correct)
[
45.7920092,
-108.4886232,
'Steepworld'
]
];
function mapinit() {
var conf = {
zoom: 11,
center: new google.maps.LatLng(45.7832856,-108.5006904),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('mapcont'),conf);
for(i in markers) {
window.setTimeout('mark('+i+')',i*200);
}
}
function mark(i){
google.maps.Marker({
position: google.maps.LatLng(markers[i][0],markers[i][1]),
animation: google.maps.Animation.DROP,
title: markers[i][2]
});
}
【问题讨论】:
-
清理了一下:function mark(i){ var marker = new google.maps.Marker({ position: new google.maps.LatLng(markers[i][0],markers[ i][1]),地图:地图,动画:google.maps.Animation.DROP,标题:标记[i][2],}); }