MKMapView,如何计算以米为单位的高程?

时间:2013-05-24 10:33:26

标签: ios map mkmapview elevation

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

我们可以在Google地球上看到此指示:

Google Earth image

3 个答案:

答案 0 :(得分:3)

怎么样?
mapView.camera.altitude

@property(非原子)CLLocationDistance高度

高于地面的高度,以米为单位。

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

在MKMapCamera.h中声明 参考MKMapCamera类参考

答案 1 :(得分:2)

据我所知,Apple没有提供用于确定坐标高度的API。 Google有一个可用于此的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"
}

此处记录了完整的Elevation API https://developers.google.com/maps/documentation/elevation/

答案 2 :(得分:1)

CLLocation附带当前位置的高度