0

我正在使用 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在地图中的位置(比如信息窗口会显示)。

我该如何做到这一点?谢谢。

4

2 回答 2

2

虽然它的回复较晚,但它可能会在未来帮助某人。你可以使用类似 ..

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

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

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

于 2011-12-06T11:48:55.913 回答
0

您基本上必须将地图的中心设置为新的纬度和经度。像这样的东西:

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

简单地打开信息窗口

myInfoWindow.open(map, yourMarker);

通过使用 javascript,您可以将事件添加到<a>onClick 并使用新中心设置地图。

更新带示例:http: //jsfiddle.net/kjy112/FEexA/

HTML:为我们的谷歌地图创建一个 div,同时为 center/info win 弹出窗口创建一个链接。

<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>"
});

这是“单击我!”时处理的代码 锚点被点击:

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
}
于 2010-12-05T01:15:33.860 回答