google map api创建的地图,侧边栏list和地图上的marker互动
侧边栏list信息和和地图上的marker互动,在gmap官方的例子中没有,所以晚上翻了几个地图网站的源码,但是源码太复杂看着累。网上的资源很不少但是很多在google-pages上,而这域-名被-国-内-禁了,连技术文章也看不到。只能上google groups硬着头皮看e文。(靠,红色字的这句话竟然“敏感”,只能加了分割符才能张贴。全身都是性敏感区,整天高潮,操)
实现原理就是建立一个全局的markers数组,在sidebar里触发数组中某个marker的鼠标事件,如此简单,放在这里共享。转录如下。
// this variable will collect the html which will eventually be placed in the sidebar
var sidebar_html = "";
// arrays to hold copies of the markers and html used by the sidebar
// because the function closure trick doesnt work there
var gmarkers = [];
var htmls = [];
var i = 0;
// A function to create the marker and set up the event window
function createMarker(point,name,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
// save the info we need to use later for the sidebar
gmarkers = marker;
htmls = html;
// add a line to the sidebar html
sidebar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
i++;
return marker;
}
// This function picks up the click and opens the corresponding info window
function myclick(i) {
gmarkers.openInfoWindowHtml(htmls);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论