MapKit使用墨卡托投影,我如何将纬度转换为Y屏幕坐标? 的更新 谢谢。我用它
CLLocationCoordinate2D leftTopBoxCoordinate;
leftTopBoxCoordinate.longitude=-180+cacheRegion.minX*boxSize;
leftTopBoxCoordinate.latitude=85-cacheRegion.minY*boxSize;
CGPoint leftTopPoint = [map convertCoordinate:leftTopBoxCoordinate toPointToView:map];
int boxDY=leftTopPoint.y;
int boxDX=leftTopPoint.x;
NSLog(@"\nL:%f,G:%f\nDX:%d,DY:%d\n",topLeft.latitude,topLeft.longitude,boxDX,boxDY);
我需要绘制绑定到map的网格,cacheRegion.minY - 是网格中框的最小索引,通过这个我计算框的纬度和经度,我需要计算leftop框和mapview区域之间的目标。 但经过10度[map convertCoordinate:leftTopBoxCoordinate toPointToView:map];不行。 好的
-[GridOverlay drawRect:]:
L:80.058050,G:-180.000000
DX:0,DY:-56
This bad
-[GridOverlay drawRect:]:
L:79.432371,G:-180.000000
DX:0,DY:28
所有记录:
-[GridOverlay drawRect:]:
L:85.000000,G:-180.000000
DX:0,DY:0
-[GridOverlay drawRect:]:
L:80.058050,G:-180.000000
DX:0,DY:-56
-[GridOverlay drawRect:]:
L:79.432371,G:-180.000000
DX:0,DY:28
发生了什么事?你知道吗?我
答案 0 :(得分:0)
墨卡托投影线性地映射纬度,因此您可以从地图视图的区域属性计算坐标。
但是,MKMapView有一种方法可以将坐标从WGS84映射到屏幕:convertCoordinate:toPointToView:
。