Javascript 如何从另一个网页(带有url)跳转到特定的LatLong或我自己创建的google地图(v3 JS API)上的标记?

Javascript 如何从另一个网页(带有url)跳转到特定的LatLong或我自己创建的google地图(v3 JS API)上的标记?,javascript,html,google-maps,google-maps-api-3,google-maps-markers,Javascript,Html,Google Maps,Google Maps Api 3,Google Maps Markers,我发现了一个简单的例子,但只有当地图和链接在同一页面上时,这才有效 HTML <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="https://maps.googleapis.com/maps/api/js?libraries=geometry,visualizati

我发现了一个简单的例子,但只有当地图和链接在同一页面上时,这才有效

HTML

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
  <script src="https://maps.googleapis.com/maps/api/js?libraries=geometry,visualization,drawing,places"></script>

  <script type="text/javascript">
    function initialize() {
      var latlng = new google.maps.LatLng(51.522387,-0.173501);
      var myOptions = {
        zoom: 15,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);

      var marker2 = new google.maps.Marker(
        {
          position: new google.maps.LatLng(51.5262405, -0.074549),
          map: map,
          title: "my 2nd title"
        }
      );

      google.maps.event.addDomListener(
        document.getElementById("marker2"), "click", function() {
          map.setCenter(marker2.getPosition());
          return false;
        }
      );
    }

  </script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:310px; height:260px"></div>
<a href="#" id="marker2">Second place</a>
</body>
</html>

函数初始化(){
var latlng=新的google.maps.latlng(51.522387,-0.173501);
变量myOptions={
缩放:15,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var marker2=新的google.maps.Marker(
{
位置:新google.maps.LatLng(51.5262405,-0.074549),
地图:地图,
标题:“我的第二个标题”
}
);
google.maps.event.addDomListener(
document.getElementById(“marker2”),“单击”,函数(){
map.setCenter(marker2.getPosition());
返回false;
}
);
}
有没有办法从另一个网站跳转到一个特定的位置(LatLong)或直接跳转到带有marker.getPosition()的标记,然后跳转到我自己创建的GM地图


也许用锚?例如:

这里是从URL获取查询值的示例

使用此选项插入代码并使用

map.setCenter(new gooogle.map.latlng(0,0));

用于将中心映射设置为标记的位置,这里的示例是从URL获取查询值

使用此选项插入代码并使用

map.setCenter(new gooogle.map.latlng(0,0));

用于将中心映射设置为标记的位置

解析
location.hash
以获得所需的值

var hash=location.hash.substr(1);

要触发单击,请使用链接的ID(例如,
#marker2

我建议使用带有可点击链接ID的列表,以防止滥用:

     if(['marker2']//array with IDs of clickable links
        .indexOf(hash)>-1){
       google.maps.event.trigger( document.getElementById(hash),'click');
     }
演示:


例如,对于latLng,您可以使用由逗号分隔的纬度和经度:
#52.549,13.425

用逗号分隔字符串,验证数字(纬度必须介于-85和85之间,经度必须介于-180和180之间)

验证成功后,根据值创建一个
LatLng
,并调用
map.setCenter
,将
LatLng
作为参数

演示:


完成代码(在
initialize
末尾运行它):


解析
location.hash
以获得所需的值

var hash=location.hash.substr(1);

要触发单击,请使用链接的ID(例如,
#marker2

我建议使用带有可点击链接ID的列表,以防止滥用:

     if(['marker2']//array with IDs of clickable links
        .indexOf(hash)>-1){
       google.maps.event.trigger( document.getElementById(hash),'click');
     }
演示:


例如,对于latLng,您可以使用由逗号分隔的纬度和经度:
#52.549,13.425

用逗号分隔字符串,验证数字(纬度必须介于-85和85之间,经度必须介于-180和180之间)

验证成功后,根据值创建一个
LatLng
,并调用
map.setCenter
,将
LatLng
作为参数

演示:


完成代码(在
initialize
末尾运行它):


你给了我一个好主意!谢谢我发现Angularjs var locationlat=$location.search.loclat;在url?loclat=12.123中,你给了我一个好主意!谢谢我发现Angularjs var locationlat=$location.search.loclat;在url?loclat=12.123中,这里是可编辑的plunker!谢谢这是可编辑的plunker!谢谢