Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Href从地图外部链接到google地图标记_Javascript_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript Href从地图外部链接到google地图标记

Javascript Href从地图外部链接到google地图标记,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我有一个嵌入谷歌地图的网站,还有一个div,里面有一组href,我想指向地图上的某些坐标 我在网上搜索过,但找不到太多帮助。 我不想用这样的东西在另一个窗口打开lat和long- 如果你看到下图,我希望在右边的div中有链接(链接将被动态获取),这些链接将指向地图上的标记并显示一个信息窗口 谢谢你的帮助 创建标记时,添加它们 自定义“id” 以后能够找到它们的数据: var marker0 = createMarker({ position: new google.maps.LatLng

我有一个嵌入谷歌地图的网站,还有一个div,里面有一组href,我想指向地图上的某些坐标

我在网上搜索过,但找不到太多帮助。 我不想用这样的东西在另一个窗口打开lat和long-

如果你看到下图,我希望在右边的div中有链接(链接将被动态获取),这些链接将指向地图上的标记并显示一个信息窗口

谢谢你的帮助

  • 创建标记时,添加它们
  • 自定义“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"
      });
    
  • 将所有标记推入阵列:
  • markers.push(marker0)

  • 基于标记数组生成链接并添加
  • 自定义“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/>');
      });
    }
    

    工作小提琴:

    您必须保留对这些标记对象的引用,并根据单击的链接访问它。当你访问了marker对象之后,你就可以使用marker API做任何你想做的事情。谢谢你,Ivan,这接近我想要实现的目标,这给了我一个良好的开始。。。再次感谢。
    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});
    }