1

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

这个想法是,如果要单击不同的链接(从站点外部),则将直接在指定位置而不是默认位置进入站点。

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

非常感谢

4

1 回答 1

1

使用当前的 API,没有。但是您可以使用URLON 库轻松构建和解析 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 存储库:htmlJS

于 2013-09-10T03:35:16.223 回答