MKMapViewZoom
, похоже, имеет некоторые методы класса, которые могут преобразовывать координаты плоской (геометрической) и кривой карты (географической), хотя я их не проверял.Кто-то подскажет мне, если это действительно работает
//convert from WGS84 (geographic coordinates) to UTM (geometric coordinates)
+ (double)longitudeToPixelSpaceX(double)pixelX
+ (double)latitudeToPixelSpaceY(double)pixelY
//convert from UTM to WGS84
+ (double)pixelSpaceXToLongitude(double)longitude
+ (double)pixelSpaceYToLatitude(double)latitude
некоторая документация здесь
ОБНОВЛЕНИЕ:
Это сводит с ума, но для того, чтобы исходный код этого класса работал правильно, мне пришлось в основном извлечь методы в свой собственный домен, затем удалите части кода, ссылающиеся на MERCATOR_OFFSET
и измените MERCATOR_RADIUS
на значение в метрах радиуса Земли.Я был немного удивлен, когда обнаружил, что это действительно работает.