2012-04-05 92 views
0

我正在將gmaps從Java V2遷移到Java V3,並且在嘗試同時在地圖上放置多個位置時遇到了問題。這個過程爆炸了。這是由於語法上的錯誤(謝謝Chang指出)。以下內容已被編輯(來自原​​文)並按預期工作。迭代multidim位置數組

外部腳本文件:

//<![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()函數: 體的onload = 「初始化()」

然後加入但addDomListener到腳本文件的末尾,我得到一個錯誤,說初始化無效。 RWhite35

+0

你是說這些問題已被回答?如果是這樣,你應該自己發表答案並接受它。這樣,其他人就會知道它已經解決了,不會理會閱讀。 – 2012-04-05 20:57:07

+0

會不會,要等8個小時。新手和所有這一切。謝謝, – rwhite35 2012-04-05 22:40:22

回答

0

以上編輯的文章是對這個問題的答案。除了使用onload事件處理函數調用HTML主體標記內的initialize()函數之外,我在腳本的末尾添加了以下DOM監聽器行。

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