ios - 对于具有 3D 投影的某些缩放级别,NMAMapView 上的 boundingBox 不正确
问题描述
如果我将我的NMAMapView
完全缩小以便您可以看到地球仪 ( NMAMapViewMinimumZoomLevel
),则对 s boundingBox 属性的调用NMAMapView
确实会为所有 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 的评论之后,这是预期的行为,边界框是一个矩形,其上限为与矩形边界不同的值。
从文档:
地图的 boundingBox 是最小的 NMAGeoBoundingBox,它包含当前在屏幕上可见的所有地图区域。如果地图在 2D 视图中(零倾斜),boundingBox 应该(几乎)与屏幕矩形的边界完全重合。如果地图是 3D 视图,则可视屏幕区域在地理空间中是一个梯形(由于透视关系,屏幕顶部的可视区域比底部宽)。因此,在这种情况下,边界框将包含一些在屏幕上实际上不可见的区域。
推荐阅读
- c - fscanf 没有完全拆分文件
- javascript - 如果月份是 29,30,31 的 1 月,如何添加下一个订阅日期以避免 javascript 中 2 月的同一日期?
- python - Python pyautogui 属性错误显示鼠标位置
- php - 尝试更新作曲家但出现问题
- python - 在 txt.file python 中排序
- java - Eclipse IBM Webshpere 启动无法找到或加载主类 VS
- sql - SQL - 根据 2 个值删除重复项
- google-cloud-dlp - 自定义信息类型和启动指令规则
- terminology - 库存和物品之间的关系是什么?
- javascript - 如何发出 GET 请求以返回嵌套对象中的信息,Mongoose Express