创建链接到自定义Google地图中特定位置的网址

时间:2013-09-09 16:32:57

标签: google-maps url google-maps-api-3 hyperlink

我一直在使用谷歌地图API完全基于我自己的图像创建自定义谷歌地图,并找到了使标记或HTML div元素放大特定位置的方法。但是,我想知道有没有办法创建一个直接链接到地图上的位置和缩放级别的URL链接?

这个想法是,如果要点击其他链接(从网站外部),可以直接在指定位置进入网站,而不是默认位置。

我知道从原始谷歌地图(而不是自定义版本)获取的链接已经可以实现,是否可以使用API​​?

非常感谢

1 个答案:

答案 0 :(得分:1)

使用当前的API,没有。但您可以使用the URLON library轻松构建和解析URL中的对象 - 您可以使用它来设置地图选项。

基本上,您使用URLON.parse()方法来解析URL中的哈希值。然后使用生成的对象中的属性设置加载时的google.maps.MapOptions。把它放在一起会产生:

//remove the # from the hash string, as URLON starts parsing from the underscore
urlMapOptions = URLON.parse(hash.substr(1, hash.length));

var mapOptions = {
    zoom: (urlMapOptions.zoom) ? parseFloat(urlMapOptions.zoom) : 8,
    center: (urlMapOptions.lat && urlMapOptions.long) ? new google.maps.LatLng(parseFloat(urlMapOptions.lat), parseFloat(urlMapOptions.long)) : new google.maps.LatLng(43.7, -79.4),
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

以下是地图的链接,默认为多伦多,缩放级别为8:http://svignara.github.io/loadgmapwithlink.html

以下是地图的链接,它以12的缩放级别将中心加载到芝加哥:http://svignara.github.io/loadgmapwithlink.html#_lat=41.8819&long=-87.6278&zoom=12

链接到github repo:htmlJS