谷歌地图infowindow问题

egonzou 2014-06-26 11:20:26
在地图中有多个marker,每个marker对应一个infowindow,infowindow内容里有超链接。现在想实现每次鼠标移动到marker能显示对应的infowindow,同时可以点击infowindow的超链接,鼠标移到别的marker,前一个infowindow要隐藏,并且显示另外一个infowindow
...全文
310 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
egonzou 2014-06-26
  • 打赏
  • 举报
回复
我还是分享一下解决思路吧: 定义一个infowindow数组,在marker的每次mouseover事件时,先用循环close掉infowindow数组,然后再打开当前的infowindow[i] var infowindow=[]; var position =[[37.563027,126.9763908,"aaa"],[37.56,126.665,"bbb"],[37.56,126.819,"ccc"]] for(var i=0;i<position.length;i++){ infowindow[i] = new google.maps.InfoWindow({ content: contentString }); google.maps.event.addListener(marker, 'mouseover',createMouseover(marker,infowindow,i)); } function createMouseover(temp_marker,infowindow,i){ return function(){ for(var t=0;t<infowindow.length;t++){ infowindow[t].close(); } infowindow[i].open(map, temp_marker); }; }
egonzou 2014-06-26
  • 打赏
  • 举报
回复
已经解决,结贴,谢谢两位的光顾,为了表示谢意,还是给分吧
Go 旅城通票 2014-06-26
  • 打赏
  • 举报
回复
谷歌被墙你还用。。


var mouseoverFn = mouseoverFunction(/*这个marker的经纬度对象*/);
google.maps.event.addListener(marker, 'mouseover', mouseoverFn);

function mouseoverFunction(latlng) {
return function () {
map.panTo(latlng);

var content = "<p><a href=xxxxxxxx>xxxxxxx</a></p>";

infoWindow.setContent(content);
infoWindow.setPosition(latlng);
infoWindow.open(map);
};
};
quadrapop 2014-06-26
  • 打赏
  • 举报
回复
谷歌地图还能正常访问么

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧