2009-12-02 60 views
0

MapKit使用mercator投影,我如何將緯度轉換爲Y屏幕座標? 更新: 謝謝。我用它MapKit mercator投影

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); 

我需要畫結合,來圖,cacheRegion.minY格 - 在箱格的最低指標,這個我計算緯度和箱的經度和我需要計算leftop盒之間destance和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 

什麼happend?你知道嗎?我

回答

0

墨卡託投影映射緯度線性,所以你可以從地圖視圖的區域屬性計算座標。

但是,MKMapView有一個方法可以將座標從WGS84映射到屏幕:convertCoordinate:toPointToView:

+0

請看我的更新。 – 2009-12-02 13:24:40