MKMapView,如何计算海拔高度(以米为单位)?

4

我如何计算地图视图中心点(不是用户当前位置)相对于海平面的高度(海拔高度),单位为米?

我们可以在Google Earth等软件中看到这个指标:

Google Earth image


你是想获取地图视图中心的地面高度,还是想获取某人漂浮在地图上看到与你的地图视图相同的视角时的高度? - Craig
3个回答

3

关于什么?

mapView.camera.altitude

@property(nonatomic) CLLocationDistance altitude

海拔高度,以米为单位。

可用性:iOS(7.0及更高版本)

声明位置:MKMapCamera.h 参考文献:MKMapCamera类参考


2
据我所知,苹果并没有提供用于确定坐标高度的API。谷歌有一个Elevation API可以用于此目的。您可以通过HTTP接口访问它,并获取地点的高度作为JSON响应。
发出以下请求以获取39.7391536,-104.9847034的海拔高度:
http://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&sensor=false

那么您将会得到一个JSON响应,类似于这样:
{
   "results" : [
      {
         "elevation" : 1608.637939453125,
         "location" : {
            "lat" : 39.73915360,
            "lng" : -104.98470340
         },
         "resolution" : 4.771975994110107
      }
   ],
   "status" : "OK"
}

完整的海拔 API 文档在此处https://developers.google.com/maps/documentation/elevation/

1

CLLocation提供了当前位置的海拔高度信息


1
谢谢,但我不需要用户位置的当前海拔高度。我需要与地图当前缩放级别相对应的海拔高度。 - BoloG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接