如果我完全缩小NMAMapView
以便可以看到地球(NMAMapViewMinimumZoomLevel
),则对NMAMapView
s boundingBox属性的调用会为所有top * / bottom *属性返回以下坐标:
po self.hereMapView.boundingBox?.topRight
▿ Optional<NMAGeoCoordinates>
- some : <NMAGeoCoordinates: 0x2828bde00; latitude = -90.000000; longitude = 0.000000; altitude = -340282346638528859811704183484516925440.000000>
self.hereMapView.boundingBox?.topLeft
▿ Optional<NMAGeoCoordinates>
- some : <NMAGeoCoordinates: 0x2828bca20; latitude = -90.000000; longitude = 0.000000; altitude = -340282346638528859811704183484516925440.000000>
// ...
上面的某些缩放级别也是如此。这对我来说似乎不正确,这是Here SDK中的错误吗?
编辑:这似乎只是3D投影的问题,在最低缩放级别的2D投影中,我们确实获得了有效的坐标
最佳答案
在问题(2D投影中的有效边界框)和@dashchak中的注释更新之后,这是预期的行为,边界框是一个矩形,其上限为一个不同于矩形边界的值。
从Documentation:
地图的boundingBox是可能的最小NMAGeoBoundingBox
其中包含屏幕上当前可见的所有地图区域。如果
地图处于2D视图(零倾斜)中,boundingBox应该(几乎)
与屏幕rect的边界完全一致。如果地图在
3D视图,可见屏幕区域是地理空间中的梯形
(屏幕顶部的可见区域比底部的可见区域宽
由于视角)。因此,边界框将包含一些区域
在这种情况下,实际上在屏幕上不可见。