必应地图:最大缩放级别在移动设备上与台式机不同

问题描述

我正在使用Bing Maps v8控件。

我可以在特定位置(33.736167,-117.977764)将缩放级别设置为20,并且在移动设备和台式机上肯定可以放大到超过缩放级别19。但是,如果我将缩放级别设置为19,则在桌面上可以放大到20,但是在移动设备上,我固定在19(可以放大但不能放大)。

在创建地图时,以及在地图上执行setView之前和之后,我都尝试过使用maxZoomLevel进行setoptions设置。创建地图时,我还尝试将缩放级别设置为20,但仍然没有用。

这是一个片段:

var map = new Microsoft.Maps.Map(document.getElementById('myMap'),{ mapTypeId: Microsoft.Maps.MapTypeId.aerial,zoom: 20});
map.setView({center: new Microsoft.Maps.Location(33.736167,-117.977764),zoom: 20});
var pushpin = new Microsoft.Maps.pushpin(map.getCenter(),null);
map.entities.push(pushpin);

通过将上面的代码段粘贴到此处并单击运行,可以看到它在桌面上运行: https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#JS

不幸的是,在移动模式下,此游乐场不允许您自定义脚本,并且在游乐场中将chrome来回切换到移动设备时,该行为不会重现(我可以通过在chrome开发人员工具添加到我自己的应用程序中并进行刷新-但在操场上通过移动设备刷新)。

解决方法

我怀疑这是因为,如果您使用的是具有高分辨率屏幕(即视网膜显示屏)的移动设备,则地图会从下一个缩放级别加载图块,从而使渲染图的像素密度增加一倍。

也就是说,我不确定为什么您可以加载20级地图,但不能在同一位置的同一浏览器中放大地图。但是,如果您要缩放到其他位置,则可能无法在20级缩放下使用图块,因此地图无法让您放大。我记得Bing地图具有可变缩放级别,因为高详细的航空影像是仅在选定位置可用。