2010-12-05 59 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'); 

,其中标志是地图上的标记的数组。

在链接点击调用上面的代码。