Я пытаюсь поместить Аннотация в нижний левый угол видимой в данный момент области карты, хотя следующий код
CLLocationCoordinate2D origin = getOriginOfRegion(mapView.region);
[[[SimpleAnnotation alloc] initWithCoords:origin] autorelease];
...
extern CLLocationCoordinate2D getOriginOfRegion(MKCoordinateRegion region){
return CLLocationCoordinate2DMake(region.center.latitude-region.span.latitudeDelta/2,
region.center.longitude-region.span.longitudeDelta/2);
}
, где SimpleAnnotation
настолько прост, насколько это возможно;ставит точку булавки на несколько градусов от фактического угла:
На правой стороне уровень масштабирования выше, и, как вы можете видеть, ошибка значительно меньше.
Я пытался сделать некоторую математику, чтобы противостоять ей, учитывая, что ошибка может быть связана с проекцией эллиптических координат на плоскость, но не нашел ничего полезного.
Кто-нибудь решил эту проблему?проблема?Я заметил, что значения широты не являются «линейными» в mapView, мне нужны некоторые подсказки, чтобы понять, как их преобразовать.