如何使用ArcGIS sdk for iOS计算坐标数组的缩放比例

问题描述 投票:0回答:1

我需要计算地图比例或缩放一组AGS图形(餐馆或已知地点)以在地图中显示它们。我搜索了谷歌和堆栈溢出,但我没有找到任何解决方案。

我已将所有图形添加到AGSGraphicOverlay,我可以在运行时在地图中看到所有图形。但我想展示一些图形,以便每个图形都适合屏幕边界。

我可以使用以下步骤在地图中显示这些少量图形。

=>计算出的最小坐标和最大坐标,并将它们转换为AGSPoint

=>使用这些最小和最大点创建AGSEnvelope

=>使用该AGSEnvelope创建AGSViewPoint

=>能够使用mapView在地图中显示?.setViewPoint(...)

如果用户点击任何Graphic,我会在UIView中显示该图形的所有细节,其大小为300x200。使用AGSMapView.addSubView方法将此customView添加到地图中。每2分钟我需要显示下一个餐厅或一个已知的地方以及之前登记的用户位置(用户可以是任何号码,因此我需要以餐厅为中心来显示所有这些位置)。

完成所有这些后,我遇到了一个问题,就是我无法用30像素的填充显示我的UIView,这将显示该餐厅的所有细节。要解决此问题,我需要计算缩放级别,然后我可以使用AGSViewpoint的API(中心:点,比例:mapScale)

任何人都可以向我推荐任何链接或解释我如何实现它。

ios swift arcgis esri
1个回答
0
投票

您需要使用'set ViewPoint'。因为您应该采用几何包络并缩放此几何体。你应该给它一个填充信封。

self.mapView.setViewpointGeometry(polygoneGeometryEnvelope, padding: 75, completion: nil)

https://developers.arcgis.com/ios/latest/api-reference/interface_a_g_s_polyline.html

© www.soinside.com 2019 - 2024. All rights reserved.