沒有任何下降開箱,可以讓你做到這一點的,但實施它自己不應該是困難的。首先,您需要爲可用於導航到特定位置的頁面定義一些查詢字符串參數。要設置正確的位置和縮放級別,您將需要三個參數:緯度,經度和縮放,所以你的URL可能看起來像:
https://netfiles.uiuc.edu/alouchio/shared/ztest.shtml?lat=40.300842&lng=-86.864734&z=6
然後,當你初始化你的地圖,你將需要檢查這些參數的存在,如果是這樣,定位適當的地圖:
將該查詢字符串,我們需要一個函數來處理這部分,這裏是一個簡單的:
// A function to get the qs params, borrowed from http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
然後你可以檢查是否存在正確的查詢字符串參數你初始化地圖後CH應該叫...
var params = getUrlVars();
if (params["lat"] && params["lng"] && params["z"])
{
map.setCenter(new GLatLng(parseFloat(params["lat"]),
parseFloat(params["lng"]), parseInt(params["z"]));
}
最後,生產環節,你可以創建一個按鈕生成鏈接信息:
function showLink()
{
var ctr = map.getCenter();
alert("https://netfiles.uiuc.edu/alouchio/shared/ztest.shtml?lat="
+ ctr.lat().toString() + "&lng=" + ctr.lng().toString() + "&z=" + map.getZoom().toString());
}
而不是map.setCenter我用過:
var myOptions1 = {
zoom: parseInt(params["z"]),
center: new google.maps.LatLng(parseFloat(params["lat"]), parseFloat(params["lng"])),
非常感謝!我會看看這個並回復你。 – Andrew 2012-04-21 23:46:14
嗨。當您最初查看主網址時,主網址是否必須包含緯度/經度縮放信息?我希望我可以有一個簡單的網頁名稱,例如... mine/viewer.shtml。然後當我通過電子郵件鏈接它可以將信息添加到網址... mine/viewer.shtml?lat = 40.300842&lng = -86.864734&z = 6謝謝! – Andrew 2012-04-23 13:40:22
不,請注意解決方案中我檢查參數是否存在,然後嘗試將地圖導航到用戶定義的位置:if(params [「lat」] && params [「lng」] && params [「z」]] ) – javram 2012-04-23 14:09:05