2016-08-17 12 views
0

MKMapview의 좌표를 뷰 내부의 cgpoint로 변환하려고합니다. 여기 MKMapView - mapView convertCoordinate : toPointToView : returns nan

내가 뭐하는 거지입니다 :

CGPoint point = [map convertCoordinate:coord toPointToView:self.view]; 
    NSLog(@"lat = %f, lon = %f", coord.latitude, coord.longitude); 
    NSLog(@"x = %f, y = %f", point.x, point.y); 

내가 얻고 출력은 다음과 같습니다

lat = 243568961.394369, lon = 165303343.177200 x = nan, y = nan

내가 SO에 다른 질문을 본 이는 올바른 방법이 될 것 같다 그것에 대해 갈 것입니다.

희망 하시겠습니까? 난 그냥이 (COORD)가 기록되고 있음없는 좌표 실현

편집 내가 의도 한 실제 좌표. 여기

내가이 좌표를 얻고있다 방법은 다음과 같습니다

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(tileOverlay.mapRect.origin.x, tileOverlay.mapRect.origin.y); 

그래서 나는 그 문제가 MKTileOverlay의 MKMapRect에서 좌표를 점점 더 많은 것 같다.

답변

0

좋아, 문제는 MKMapPoint 값을 사용하여 CLLocationCoordinate2D를 만들려고했기 때문입니다. 분명히 이것은 잘못된 좌표를 만들었습니다. 여기에 내가 그것을 해결하기 위해 무슨 짓을 :

MKMapPoint mp = MKMapPointMake(tileOverlay.mapRect.origin.x, tileOverlay.mapRect.origin.y); 

    CLLocationCoordinate2D coord = MKCoordinateForMapPoint(mp); 

    CGPoint point = [map convertCoordinate:coord toPointToView:self.view]; 

을 의도 한대로 모든 것이 작동