我製作了一個Google地圖,以1個標記開頭顯示位置。 從那裏你可以切換位置。然後它會用1個標記顯示新的位置。切換Google地圖切換內容
除了位置切換之外,還可以爲兩個主要位置中的每一個選擇子位置。
我認爲使2個瓦爾(對於每個位置1)將是最好的事情【示例】:
var locationsBerlin = [
['Berlin 1', 52.519433,13.406746, 1],
['Berlin 2', 52.522606,13.40366, 2],
['Berlin 3', 52.52113,13.409411, 3],
['Berlin 4', 52.517043,13.402394, 4],
['Berlin 5', 52.51703,13.412801, 5],
['Berlin 6', 52.525086,13.399798, 6],
['Berlin 7', 52.525151,13.410741, 7]
];
這是我的選擇「主要」位置。
markerMain = new google.maps.Marker({
position: new google.maps.LatLng(locationsBerlin[0][1], locationsBerlin[0][2]),
map: map,
icon: customPin
});
該數組的其餘部分是sublocations。現在我希望用戶能夠按下一個鏈接並顯示var中的其他位置(位置數量是動態的)。
所以我試着做一個函數,點擊切換鏈接後會被調用。
function subLocationBerlin(){
alert("berlin sub");
for (i = 1; i < locationsBerlin.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locationsBerlin[i][1], locationsBerlin[i][2]),
map: map
});
markers.push(marker);
}
}
但現在我卡住了。出於某種原因,它不會將額外的標記添加到地圖中,我不知道什麼是錯的。
在這裏你可以找到小提琴: http://jsfiddle.net/gvMSX/3/
你有範圍的問題。我得到了「subLocationBerlin沒有在你的小提琴中定義,如果我將它移動到全局範圍,我會得到」locationsBerlin沒有定義「。 – geocodezip
爲什麼要在更改位置時重新初始化包括地圖在內的所有東西? –
@geocodezip感謝您的提及。修正了它,但不知何故,標記仍然沒有顯示。我檢查了螢火蟲的錯誤,但沒有顯示錯誤。http://jsfiddle.net/gvMSX/6/ –