2012-04-05 12 views
0

私はJava V2からJava V3にgmapsを移行しており、複数の場所を同時にマップに配置しようとすると問題が発生しました。プロセスは爆発する。これは構文上の誤りが原因でした(それを指摘してくれた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()という関数: ボディのonload = ")(初期化"

スクリプトファイルの末尾にaddDomListenerを追加する前に、私は初期化が有効ではないと言うエラーを受け取りました。 RWhite35

+0

あなたは質問に答えられたと言いますか?もしそうなら、自分で答えを投稿してそれを受け入れるべきです。このようにして他の人はそれが解決されたことを知り、読書を気にしません。 –

+0

8時間を待たなければなりません。初心者とそのすべて。ありがとう、 – rwhite35

答えて

0

上記の編集済みの記事は、この問題に対する回答です。私は、onloadイベントハンドラを持つHTML bodyタグ内でinitialize()関数を呼び出すことに加えて、スクリプトの最後に次のDOMリスナ行を追加しました。

google.maps.event.addDomListener(window,'load',initialize); 
関連する問題