我正在将gmaps从Java V2迁移到Java V3,并且在尝试同时在地图上放置多个位置时出现问题。这个过程爆炸了。这是由于语法错误(感谢Chang指出它)。以下内容已经过编辑(来自原始帖子)并按预期工作。
外部脚本文件:
//<![CDATA[
function initialize() {
var myOptions = {
center: new google.maps.LatLng(41, -81.64),
zoom: 7,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
setMarkers(map, storeloc);
}
/*
* create a multidim array of locations,
* array elements title,lat,lng,zIndex.
*/
var storeloc = [
['7515 Auburn Road Painesville', 41.66, -81.24, 4],
['8775 Darrow Road Twinsburg', 41.305634, -81.440208, 3],
['2496 E Aurora Road Twinsburg', 41.311218, -81.459404, 2]
];
/*
* Define setMarkers function with map and locations parameters
* storeloc multidim array assigned to locations
*/
function setMarkers(map, locations){
var i;
for (i = 0; i < locations.length; i++) {
var store = locations[i];
var myLatLng = new google.maps.LatLng(store[1], store[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map
});
}
}
//edit
google.maps.event.addDomListener(window,'load',initialize);
//]]>
然后在HTML中调用initialize()函数: body onload =“initialize()”
在将addDomListener添加到脚本文件末尾之前,我收到一条错误,说初始化无效。 RWhite35
答案 0 :(得分:0)
以上编辑的帖子就是这个问题的答案。除了使用onload事件处理程序调用HTML body标记内的initialize()
函数之外,我还在脚本末尾添加了以下DOM侦听器行。
google.maps.event.addDomListener(window,'load',initialize);