[英]Modify the max zoom level of a Google Map Type
我需要將google.maps.MapTypeId.HYBRID
的maxZoom
級別設置為21.實際上,他已設置為14(使用firebug控制台進行檢查)。
設置google.maps
對象的屬性'maxZoom'在這種情況下不起作用,我已經嘗試修改google.maps.mapTypes
對象,但沒有成功。
var options = {
center: new google.maps.LatLng(lat_centre,lng_centre),
zoom: 14,
maxZoom: 21,
mapTypeId: google.maps.MapTypeId.TERRAIN,
panControl: true,
zoomControl: true,
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
overviewMapControl: false,
disableDoubleClickZoom: true,
styles: [
{featureType: "poi", stylers: [{visibility: "off"}]}
]
};
map = new google.maps.Map(document.getElementById("map_container"),options);
和
google.maps.event.addListener(map, 'tilesloaded', function(event){
var mapTypeRegistry = map.mapTypes;
var currentMapTypeId = map.getMapTypeId();
var mapType = mapTypeRegistry.get(currentMapTypeId);
mapType.maxZoom = 21;
});
那么,有沒有辦法增加mapType HYBRID的縮放級別?
謝謝。
如果您更改了mapType
對象的屬性( maxZoom
, minZoom
等等),則只有在地圖的類型更改為該mapType
之后 ,更改的效果才會占用。 例如,如果當前mapType
是TERRAIN
,並且您更改了TERRAIN
的maxZoom
,則maxZoom
僅在將mapType
更改為其他類型(例如ROADMAP
, HYBRID
等)並返回TERRAIN
后才能工作。
不使用mapType
的maxZoom
選項,而是使用核心地圖的maxZoom
選項。 添加監聽器"maptypeid_changed"
事件,當事件發生時,改變maxZoom
的選項map
:
google.maps.event.addListener(map, 'maptypeid_changed', function(event){
if( map.getMapTypeId() === google.maps.MapTypeId.TERRAIN ){
map.setOptions({maxZoom:/*For example*/5});
}else
if( map.getMapTypeId() === google.maps.MapTypeId.ROADMAP ){
map.setOptions({maxZoom:/*For example*/8});
}//Etc...
else{
map.setOptions({maxZoom:/*For example*/21});
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.