2010-12-05 53 views
0

我正在使用gMap。我有我的觀點如下:gMap谷歌地圖從外地鏈接中選擇

<script> 
$("#map4").gMap({ markers: [{ latitude: 47.651968, 
            longitude: 9.478485, 
            html: "<a href='abc'>ABC</a>" }, 
         zoom: 10 }); 
</script> 

<div id="abc"> 
<a href="">ABC</a> 
Description for ABC 
</div> 

從地圖上看,我可以按一下該滾動到Id'ed DIV信息窗口中的鏈接。我還想點擊地圖外的ABC鏈接,單擊它時,它會顯示ABC在地圖中的位置(例如infowindow將顯示)。

我該如何做到這一點?謝謝。

回答

0

YOu基本上必須將地圖的中心設置爲新的經緯度。事情是這樣的:

map.setCenter(new google.maps.LatLng(this.latitude, this.longitude)); 

打開信息窗口簡單

myInfoWindow.open(map, yourMarker); 

通過使用JavaScript可以添加一個事件來<a>的的onClick和設定新的地圖中心。

UPDATE W /例:http://jsfiddle.net/kjy112/FEexA/

HTML:爲我們的谷歌地圖一個div,也是一個鏈接中心/信息贏得彈出。

<div id='map_canvas'></div> 
<a id='marker' href='javascript:showMarker();'>Click Me!</a> 

CSS:爲谷歌地圖區域設置尺寸

#map_canvas{ 
    width: 400px; 
    height: 400px; 
} 

JavaScript操作: 集地圖與一些隨機的緯度經度

var map = new google.maps.Map(document.getElementById('map_canvas'), { 
    zoom: 10, 
    center: new google.maps.LatLng(35.137879, -82.836914), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

創造我們的標記,其信息窗口:

var myMarker = new google.maps.Marker({ 
    position: new google.maps.LatLng(47.651968, 9.478485), 
}); 

myMarker['infoWin'] = new google.maps.InfoWindow({ 
    content: "<div id='infoWindow'>Your Info Window!</div>" 
}); 

這是處理「Click Me!」時的代碼錨點被點擊:

function showMarker() { 
    map.setCenter(myMarker.position); //makes myMarker center of map 
    myMarker.setMap(map); //add the marker to the map 
    myMarker['infoWin'].open(map, myMarker); //opens the info window associate with the marker 
} 
+0

對不起,你介意給我看個例子嗎?謝謝。 – Victor 2010-12-15 08:12:19

2

雖然它的答覆很晚,但它可能對未來有幫助。 您可以使用類似..

google.maps.event.trigger(markers[i], 'click'); 

,其中標誌是地圖上的標記的數組。

在鏈接點擊調用上面的代碼。