【发布时间】:2010-11-29 22:09:40
【问题描述】:
假设我有 3 个图钉:(1) 加利福尼亚,(2) 佛罗里达,(3) 纽约。为了让他们三个都可见,我必须缩小到足够远才能看到整个国家。但是说我有(1)加利福尼亚,(2)内华达,(3)德克萨斯。我必须缩小范围才能覆盖美国的西南角。 Windows Phone 7 API 的 bing 地图中是否有任何功能可以帮助我解决这个问题。基本上,我想缩小到足以看到一组位置。
谢谢!
【问题讨论】:
假设我有 3 个图钉:(1) 加利福尼亚,(2) 佛罗里达,(3) 纽约。为了让他们三个都可见,我必须缩小到足够远才能看到整个国家。但是说我有(1)加利福尼亚,(2)内华达,(3)德克萨斯。我必须缩小范围才能覆盖美国的西南角。 Windows Phone 7 API 的 bing 地图中是否有任何功能可以帮助我解决这个问题。基本上,我想缩小到足以看到一组位置。
谢谢!
【问题讨论】:
是的。有可能的。 CurrentItems 是我的地图的来源。
var locations = CurrentItems.Select(model => model.Location);
map.SetView(LocationRect.CreateLocationRect(locations));
【讨论】:
LocationRect.CreateLocationRect 不适用于 Windows 8 ??我应该用什么??
我不知道有什么功能可以直接执行您想要的操作,但是您可以找到围绕所有位置的边界框,并且您应该能够将视口设置到该范围。
如果您从左下角为(maxVal, maxVal) 而右上角为(-maxVal, -maxval) 的倒置框开始。您可以遍历所有点,如果该点小于其当前值,则重置左下角,如果大于其当前值,则重置右上角。
最终结果将是所有东西都适合的最小盒子。增加一点大小以应对舍入误差并确保您的图钉实际上在地图上,然后设置视口的范围。
【讨论】: