Javascript 从Google地图URL将地图加载到ExtJS GMapPanel
我正在搜索从URL(例如)加载映射到GMapPanel ExtJS控件的解决方案。此链接是在网站中创建的。尽管进行了大量的研究,但这似乎是不可能的Javascript 从Google地图URL将地图加载到ExtJS GMapPanel,javascript,google-maps,url,extjs,Javascript,Google Maps,Url,Extjs,我正在搜索从URL(例如)加载映射到GMapPanel ExtJS控件的解决方案。此链接是在网站中创建的。尽管进行了大量的研究,但这似乎是不可能的 你知道如何用这种方式(从URL)加载地图吗?你知道实现这个解决方案的其他方法吗?我不知道谷歌是如何通过URL中的@符号来实现这一点的 但我可以用标签来做 <div id="map"></div> <a target="_blank" href="index.php#48.86100157399595,2.335
你知道如何用这种方式(从URL)加载地图吗?你知道实现这个解决方案的其他方法吗?我不知道谷歌是如何通过URL中的@符号来实现这一点的 但我可以用标签来做
<div id="map"></div>
<a target="_blank" href="index.php#48.86100157399595,2.335891842842086,7">Paris</a>
<a target="_blank" href="index.php#52.52147002033347,13.413565278053268,9">Berlin</a>
<a target="_blank" href="index.php#50.847982072140276,4.350390947438103,12">Brussels</a>
<style>
#map {
height: 400px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
var map;
// reads the url, sets the map according to these values
function optionsFromUrl() {
var settings = getLatLngZoom();
if (settings) {
map.setCenter( new google.maps.LatLng(settings[0], settings[1]) );
map.setZoom( settings[2] );
}
}
// reads the url, returns an array of values. These values are separated by kommas in the url
function getLatLngZoom() {
var vars = window.location.hash.substr(1).split(',');
if (vars[0] && vars[1]) {
return [
Number(vars[0]),
Number(vars[1]),
Number(vars[2]) || 7 // this is a default zoom, in case it is missing in the URL. Feel free to pick another value
];
}
return null;
}
function initialize() {
var paris = new google.maps.LatLng(48.86100157399595,2.335891842842086);
var mapOptions = {
zoom: 7,
center: paris
}
map = new google.maps.Map(document.getElementById("map"), mapOptions);
optionsFromUrl();
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
#地图{
高度:400px;
}
var映射;
//读取url,根据这些值设置映射
函数选项fromURL(){
var settings=getLatLngZoom();
如果(设置){
map.setCenter(新的google.maps.LatLng(设置[0],设置[1]);
map.setZoom(设置[2]);
}
}
//读取url,返回一个值数组。这些值在url中由kommas分隔
函数getLatLngZoom(){
var vars=window.location.hash.substr(1.split(',');
if(变量[0]&变量[1]){
返回[
数量(变量[0]),
数量(变量[1]),
数字(vars[2])| | 7//这是默认的缩放,以防在URL中丢失。请随意选择其他值
];
}
返回null;
}
函数初始化(){
var paris=new google.maps.LatLng(48.86100157399595,2.335891842842086);
变量映射选项={
缩放:7,
中心:巴黎
}
map=new google.maps.map(document.getElementById(“map”)、mapOptions);
选项fromURL();
}
google.maps.event.addDomListener(窗口“加载”,初始化);