迭代多维位置数组

时间:2012-04-05 17:47:59

标签: javascript google-maps

我正在将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

1 个答案:

答案 0 :(得分:0)

以上编辑的帖子就是这个问题的答案。除了使用onload事件处理程序调用HTML body标记内的initialize()函数之外,我还在脚本末尾添加了以下DOM侦听器行。

google.maps.event.addDomListener(window,'load',initialize);