Href从地图外部链接到谷歌地图标记

时间:2017-11-17 08:46:49

标签: javascript jquery google-maps google-maps-api-3

我有一个嵌入谷歌地图的网站,并且有一个带有一组href的div,我想指向地图上的某些坐标。

我在线搜索但找不到多少帮助。 我不想在另一个窗口中使用这样的东西打开lat和long - https://www.google.com/maps/?q=-15.623037,18.388672

如果您看到下面的图片,我想在右边的div中有链接(链接将动态获取),这些链接将指向地图上的标记并显示信息窗口

感谢任何帮助。enter image description here

1 个答案:

答案 0 :(得分:1)

  1. 创建标记时,添加它们
  2.   

    自定义'id'

    以后能够找到它们的数据:

    var marker0 = createMarker({
        position: new google.maps.LatLng(33.808678, -117.918921),
        map: map,
        id: "m0",
        icon: "http://1.bp.blogspot.com/_GZzKwf6g1o8/S6xwK6CSghI/AAAAAAAAA98/_iA3r4Ehclk/s1600/marker-green.png"
      });
    
    1. 将所有标记推入阵列:
    2. markers.push(marker0);

      1. 根据markers数组生成链接并添加
      2.   

        自定义'id'

        给他们:

        function fillLinks(){
            var d1 = document.getElementById('markers_div');
            markers.forEach(function(marker) {  
                d1.insertAdjacentHTML('beforeend', '<a href="#" onclick="linkClick(\''+marker["id"]+'\')">'+marker["id"]+'</a><br/>');
          });
        }
        
        1. 点击链接后,根据标记的lat和lng使用自定义'id'来居中地图:

          function linkClick(markerId){
              for (let marker of markers) {
                 if(marker['id'] == markerId){    
                    center(marker.getPosition().lat(), marker.getPosition().lng() );
                    marker.info.open(map, marker);     
                 } else {
                    marker.info.close(map, marker);
                 }
              }
          }
          
          function center(lat, lng){
              map.setCenter({lat:lat, lng:lng});
          }
          
        2. 工作小提琴:http://jsfiddle.net/4mtyu/3315/