是否有可能重新初始化一個gmap3地圖爲其默認設置(lat,long,zoom等)?重新初始化gmap3地圖
我試圖在地圖上銷燬,然後重新運行初始化,但它不工作。
看到這裏我的jsfiddle - http://jsfiddle.net/vlowe/z9dDE/1/
是否有可能重新初始化一個gmap3地圖爲其默認設置(lat,long,zoom等)?重新初始化gmap3地圖
我試圖在地圖上銷燬,然後重新運行初始化,但它不工作。
看到這裏我的jsfiddle - http://jsfiddle.net/vlowe/z9dDE/1/
裹地圖元素在div容器,然後當你想重置地圖,只是刪除了整個地圖格,然後重新創建。這應該可以解決問題。
根據gmap3文檔,在刪除dom元素之前,您仍然需要在地圖上調用destroy。
HTML代碼
<div>
<div id="map"></div>
</div>
<a href="#" onclick="restore();">restore</a>
的JavaScript
var dlat = 53.9783997; // default map latitude
var dlng = -1.5666347; // default map longitude
var dzoom = 6; // default map zoom
var dmaptype = "roadmap"; // default map type
// create gmap
$('#map').gmap3({
action: 'init',
options: {
center: [dlat, dlng],
zoom: dzoom,
mapTypeId: dmaptype,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
navigationControl: true,
scrollwheel: true,
streetViewControl: true
}
});
function restore() {
$('#map').gmap3({
action: 'destroy'
});
var container = $('#map').parent();
$('#map').remove();
container.append('<div id="map"></div>');
// create new gmap
$('#map').gmap3({
action: 'init',
options: {
center: [dlat, dlng],
zoom: dzoom,
mapTypeId: dmaptype,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
navigationControl: true,
scrollwheel: true,
streetViewControl: true
}
});
}
是的,這是有效的。歡呼亞歷克斯 – 2012-07-08 15:57:25
這裏的另一種方法: 而不是破壞地圖和完全重新創建它,你可以保存初始狀態,並恢復到狀態像這樣:http://jsfiddle.net/UvAL3/1/
(這些函數作爲V2的一部分存在)
只需刪除銷燬代碼。它會按預期工作。 – 2012-07-08 15:31:35
它首先試過,它不 – 2012-07-08 15:39:59