0
我试图把一个注解当前可见的地图区域的左下角一个MapView关闭的左下角,虽然下面的代码坐标几个像素
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上的纬度值不是'线性的',我需要一些提示来理解如何转换它们。
我相信这会工作,但我试图了解它背后的数学。 – Pyetras 2010-09-30 20:15:46
我无法解释它。根据维基百科,纬度和纬度之间的一度纬度的长度只有很小的变化(约1%)。 – 2010-09-30 20:47:03