2011-04-15 23 views
4

我在网站上获得了地图。我尝试通过点击地图边上的链接(地图外)来点击标记。谷歌地图google.maps.event.trigger无法在V3上工作

下面的代码:

<a id="ctl00_ctl00_cphMain_main_rptTouristique_ctl00_lnk" onclick="javascript:google.maps.event.trigger(markerArray[0],'click') ">Le Vieux Montréal</a> 

注:markerArray是地图上的所有标记的数组。

注:我用API的版本3(目前1)

+0

我发现谷歌地图API组非常出色,我会在那里发帖:http://groups.google.com/group/Google-Maps-API?pli = 1 – 2011-04-15 12:48:06

+0

不幸的是,这个小组讨论的是V2已弃用的api。 (http://code.google.com/apis/maps/documentation/javascript/v2/reference.html) – Muffun 2011-04-15 13:13:55

+0

这是什么实际工作:我不是创建一个标记和infoWindow数组,而是自己创建每个对象(作为var marker0 =新的google.maps.Marker();)。在我调用的函数中,我使用了自我对象和信息窗口pop:D。 – Muffun 2011-04-15 15:20:04

回答

1

我相信像你这样在外部触发点击事件,这意味着你的触发功能,这样你就可以调用同一个函数来显示标记被触发。 例如,

function callAfterMarker(){ 
    alert("Market Clicked"); 
} 

google.maps.event.addListener(marker, 'click', function() { 
    callAfterMarker(); 
}); 

<a href="javascript:callAfterMarker();">Address Name</a>"; 

另外,你有你的标志器阵列,所以你可以决定从哪个标记您的功能或位置需要计算和执行。 (即)如果您想将任何标记相关信息传递给该函数。

希望这会有所帮助!

+1

这几乎工作!但是当调用infoWindowArray [0] .open时,我得到“b.get不是函数”错误。 **心中的悲伤** – Muffun 2011-04-15 14:54:40

1

我不知道,如果你是工作,但我相信你需要设置您的点击功能。

google.maps.event.addListener(marker, 'click', function() { 
    map.setCenter(marker.position); 
}); 

<a href="javascript:google.maps.event.trigger(markerArray[0],'click')">Address Name</a>"; 
+0

这是我必须做的,使标记正常工作。但我的问题是,我需要一个外部地图链接来做点击标记。 – Muffun 2011-04-15 13:33:48

+1

我所拥有的“ Sky 2011-04-15 14:59:05