【问题标题】:Zoom to show all locations in bing maps缩放以显示 bing 地图中的所有位置
【发布时间】:2010-11-29 22:09:40
【问题描述】:

假设我有 3 个图钉:(1) 加利福尼亚,(2) 佛罗里达,(3) 纽约。为了让他们三个都可见,我必须缩小到足够远才能看到整个国家。但是说我有(1)加利福尼亚,(2)内华达,(3)德克萨斯。我必须缩小范围才能覆盖美国的西南角。 Windows Phone 7 API 的 bing 地图中是否有任何功能可以帮助我解决这个问题。基本上,我想缩小到足以看到一组位置。

谢谢!

【问题讨论】:

    标签: windows-phone-7 bing-maps


    【解决方案1】:

    是的。有可能的。 CurrentItems 是我的地图的来源。

    var locations = CurrentItems.Select(model => model.Location);
    map.SetView(LocationRect.CreateLocationRect(locations));
    

    【讨论】:

    • LocationRect.CreateLocationRect 不适用于 Windows 8 ??我应该用什么??
    【解决方案2】:

    我不知道有什么功能可以直接执行您想要的操作,但是您可以找到围绕所有位置的边界框,并且您应该能够将视口设置到该范围。

    如果您从左下角为(maxVal, maxVal) 而右上角为(-maxVal, -maxval) 的倒置框开始。您可以遍历所有点,如果该点小于其当前值,则重置左下角,如果大于其当前值,则重置右上角。

    最终结果将是所有东西都适合的最小盒子。增加一点大小以应对舍入误差并确保您的图钉实际上在地图上,然后设置视口的范围。

    【讨论】:

    • 我不需要考虑分辨率、缩放、距离因素吗?我应该将两个最远的位置转换为彼此之间的距离,然后根据手机的分辨率(480x800)设置缩放级别以显示所有位置。它最终可能不像听起来那么简单。我知道谷歌地图也有这样的功能,所以我希望 Bing 也有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    相关资源
    最近更新 更多