gpt4 book ai didi

javascript - 修改 Google map 类型的最大缩放级别

转载 作者:数据小太阳 更新时间:2023-10-29 04:11:56 24 4
gpt4 key购买 nike


我需要将 google.maps.MapTypeId.HYBRIDmaxZoom 级别设置为 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 对象的属性(maxZoomminZoom 等...),更改后的效果将取而代之ONLY AFTER map 的类型将更改为该 mapType。例如,如果当前 mapTypeTERRAIN,并且您更改了 TERRAINmaxZoommaxZoom 只有在将 mapType 更改为另一种类型(例如 ROADMAPHYBRID 等)并返回到 TERRAIN 后才会起作用

不是设置mapTypemaxZoom 选项,而是使用核心 map 的maxZoom 选项。为"maptypeid_changed"事件添加监听器,当事件发生时,改变mapmaxZoom选项:

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});
}
});

关于javascript - 修改 Google map 类型的最大缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10517848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com