我正在使用gmap v3.我遇到了一个问题.
问题是我正在创建动态标记,并且在相似的时间我创建了该标记的信息窗口.
现在我想在标记的任何信息窗口中添加一些内容.
但不知道我怎么能得到一个infowindow的内容.
我已经将我的标记对象存储在一个数组中,并且还存储了infowindow的对象.
但没有找到任何解决方案.
问题是我正在创建动态标记,并且在相似的时间我创建了该标记的信息窗口.
现在我想在标记的任何信息窗口中添加一些内容.
但不知道我怎么能得到一个infowindow的内容.
我已经将我的标记对象存储在一个数组中,并且还存储了infowindow的对象.
但没有找到任何解决方案.
编辑:
var markerArray = new Array(); var infoArray = new Array(); function placemarker(point,id,contents){ var marker = new google.maps.Marker({ icon: image,position: point,map: map,title: name }); markerArray[id] = marker; var infoBubble = new InfoBubble(); var content = contents; infoBubble.setContent(content); google.maps.event.addListener(marker,"mouSEOver",function(event){ for(var i=0; i < infoArray.length ; i++ ) infoArray[i].close(); infoBubble.open(map,marker); }); infoArray.push(infoBubble); }
在函数内多次调用此函数可在地图上创建标记.
现在条件是两个标记在同一个纬度上,我想显示单个标记与两个标记内容的信息.我能够创建单个标记,但无法在信息窗口中附加内容.
解决方法
如果您已经将所有InfoWindow保存在infoArray中,为什么不简单地使用与标记相同的ID存储它们?
var markers = {}; var infoWindows = {}; function placemarker(point,contents) { var marker = ... ... markers[id] = marker; var infoWindow = ... ... infoWindows[id] = infoWindow; }
(注意我已经用哈希替换了你的数组.)现在,您可以像访问标记本身一样访问每个标记的InfoWindow(及其内容通过getContent()).