我有一个Bing地图,我画了一些多边形, 我希望获得最佳视图(缩放/中心)以显示所有多边形。
我已经尝试了这个,并且实现了我想要的东西,但却花了很多时间。
var poly = new Microsoft.Maps.Polygon(allPoints);
var boundaries = Microsoft.Maps.LocationRect.fromLocations(poly.getLocations());
感谢您的帮助。
答案 0 :(得分:0)
如果你有很多积分(数万),那就需要时间。另一种方法是循环遍历您的位置对象数组并获取最小和最大纬度和经度值,然后使用这些值创建位置rect。但是我怀疑它会更快,因为这基本上是fromLocations方法在幕后所做的。
此外,不要使用getLocations,只需使用您拥有的allPoints值。可能会保存一些处理。
所有这一切都说,除非你正在使用非常大的多边形(数千个点),否则我看不到这个很慢。平移和缩放可能很慢,但可能是因为浏览器必须在地图移动时不断更新多边形点的位置。多边形的点越多,浏览器就越慢。