【问题标题】:Bing Maps: Maximum Zoom level different on mobile than on desktop必应地图:移动设备上的最大缩放级别与桌面设备不同
【发布时间】:2020-10-02 02:32:24
【问题描述】:

我正在使用 Bing Maps v8 控件。

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

我尝试在创建地图时设置 maxZoomLevel 以及在地图上执行 setView 之前和之后使用 maxZoomLevel 执行 setOptions。我还尝试在创建地图时将缩放级别设置为 20,但仍然无济于事。

这是一个sn-p:

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

您可以通过在此处粘贴上面的 sn-p 并点击运行来查看它在桌面上的工作: https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#JS

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

【问题讨论】:

    标签: bing-maps


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。 DPI 的解释是有道理的。要么我在自欺欺人,要么“但是”已修复,因为我无法再重现我所描述的不一致行为。移动/高 DPI 设备只是无法缩放到与桌面相同的水平。
    猜你喜欢
    • 2013-03-11
    • 2021-12-13
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 2017-01-22
    相关资源
    最近更新 更多