私はクッキーを使用したくなかったので、私はのlocalStorageを使用して別の方法を作成しました。
HTML
<div id="map-canvas" style="width:100%;height:500px;"></div>
JS
$(document).ready(function(){
//Global Variables
var mapCentre;
var map;
initialize();
function initialize() {
var mapOptions;
if(localStorage.mapLat!=null && localStorage.mapLng!=null && localStorage.mapZoom!=null){
mapOptions = {
center: new google.maps.LatLng(localStorage.mapLat,localStorage.mapLng),
zoom: parseInt(localStorage.mapZoom),
scaleControl: true
};
}else{
//Choose some default options
mapOptions = {
center: new google.maps.LatLng(0,0),
zoom: 11,
scaleControl: true
};
}
//MAP
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
mapCentre = map.getCenter();
//Set local storage variables.
localStorage.mapLat = mapCentre.lat();
localStorage.mapLng = mapCentre.lng();
localStorage.mapZoom = map.getZoom();
google.maps.event.addListener(map,"center_changed", function() {
//Set local storage variables.
mapCentre = map.getCenter();
localStorage.mapLat = mapCentre.lat();
localStorage.mapLng = mapCentre.lng();
localStorage.mapZoom = map.getZoom();
});
google.maps.event.addListener(map,"zoom_changed", function() {
//Set local storage variables.
mapCentre = map.getCenter();
localStorage.mapLat = mapCentre.lat();
localStorage.mapLng = mapCentre.lng();
localStorage.mapZoom = map.getZoom();
});
}
});
JSFiddleへのリンク:http://jsfiddle.net/x11joex11/G4rdm/10/
それは海の真ん中に始まるためだけでズームイン・ズームアウトでマップを移動再度実行したり、ページを更新したりすると、その覚えていることがわかります位置とズーム。
それはのlocalStorageにユーザが画面をパンやイベントメッセージ"center_changed"
と"zoom_changed"
グレートソリューションのおかげでズームするたびに保存します!ありがとうございました! – AVEbrahimi
素晴らしいソリューションですが、mapTypeIdの修正はありません... – Stefanvds
恐ろしいです!それは素晴らしい作品です! – qub1n