Как получить левую верхнюю и правую нижнюю широту и долготу карты в MapKit для iPad? - PullRequest
1 голос
/ 07 июня 2010

Я ищу ответ о получении широты и долготы от uimapkit. есть та же самая проблема, на которую был дан ответ, но она не дала правильную координату. http://yit.me/3ddp73

это код из потока, на который я ссылаюсь выше.

CLLocationCoordinate2D topLeft, bottomRight;
topLeft = [mapView convertPoint:CGPointMake(0,0) toCoordinateFromView:mapView];
CGPoint pointBottomRight = CGPointMake(mapView.frame.size.width, mapView.frame.size.height);
bottomRight = [mapView convertPoint:pointBottomRight toCoordinateFromView:mapView];


NSLog(@"topleft = %f", topLeft);
NSLog(@"bottom right = %f", bottomRight);

есть идеи, чтобы решить эту проблему?

спасибо

Ответы [ 2 ]

2 голосов
/ 07 июня 2010

Вид карты имеет свойство region.

MKCoordinateRegion region = mapView.region;

область содержит центр и 2D-диапазон, поэтому

CLLocationCoordinate2D topLeft = CLLocationCoordinate2DMake(
  region.center.latitude - region.span.latitudeDelta/2,
  region.center.longitude - region.span.longitudeDelta/2,
);

и т.д.

0 голосов
/ 25 июля 2010

Исходное решение близко. Система координат представления имеет начало координат внизу слева. Поэтому CGPoint (0,0) на самом деле слева внизу, а не сверху. А другая координата будет вашей верхней правой.

...