Javascript 如何从另一个网页(带有url)跳转到特定的LatLong或我自己创建的google地图(v3 JS API)上的标记?
我发现了一个简单的例子,但只有当地图和链接在同一页面上时,这才有效 HTMLJavascript 如何从另一个网页(带有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
<!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!谢谢