Pau*_*aul 2 iphone google-maps objective-c mapkit
假设我有一个由4个CLLocationCoordinate2D点组成的正方形,它们位于lat,lon,我想找到以米为单位的正方形区域.我将CLLocationCoordinate2D点转换为MKMapPoints,并在XY空间中找到该区域.但是,我找到的区域是MKMapPoint的单位,它不直接转换为米.如何将MKMapPoint-space中的这个区域翻译成米?
小智 8
MapKit函数MKMetersBetweenMapPoints
使这更容易.
例如,如果要获取当前显示区域的区域:
MKMapPoint mpTopLeft = mapView.visibleMapRect.origin;
MKMapPoint mpTopRight = MKMapPointMake(
mapView.visibleMapRect.origin.x + mapView.visibleMapRect.size.width,
mapView.visibleMapRect.origin.y);
MKMapPoint mpBottomRight = MKMapPointMake(
mapView.visibleMapRect.origin.x + mapView.visibleMapRect.size.width,
mapView.visibleMapRect.origin.y + mapView.visibleMapRect.size.height);
CLLocationDistance hDist = MKMetersBetweenMapPoints(mpTopLeft, mpTopRight);
CLLocationDistance vDist = MKMetersBetweenMapPoints(mpTopRight, mpBottomRight);
double vmrArea = hDist * vDist;
Run Code Online (Sandbox Code Playgroud)
该文件指出该功能"考虑了地球的曲率".