google map api创建的地图,侧边栏list和地图上的marker互动

发布于 2022-08-15 02:29:54 字数 2165 浏览 20 评论 0

侧边栏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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文