1) MKOverlayView에서 MKMapView를 사용하여 사용자 정의 이미지 (예 : 너비 = 350cm, 높이 = 230cm)를 표시하고 있습니다.MKMapView 어떻게 위도 위도에서 cm로 변환 하시겠습니까?
2) 이미지의 중심은 경도 = 0 위도 = 0 지금 내가 = 60.749995 위도 = 56.091651
이제 경도에 MKPointAnnotation 배치) 전 세계
4를 커버 I 이 점 (경도, 위도)을 x, y (cm)로 다시 변환하고 싶습니다.
이미지 상단에 주석이있는 서버에서 JPG를 만들 수 있습니다.
그래서 어떻게 x, y 값을 계산합니까?
고맙습니다 크레이그 같은
그래서 뭔가 : 당신은 정말 cm 취급하지 않는
CLLocationCoordinate2D coordinateOrigin = CLLocationCoordinate2DMake(90, -180);
CLLocationCoordinate2D coordinateMax = CLLocationCoordinate2DMake(-90, 180);
MKMapPoint maxMap=MKMapPointForCoordinate(coordinateMax);
MKMapPoint minMap=MKMapPointForCoordinate(coordinateOrigin);
double width = maxMap.x-minMap.x;
double height = maxMap.y-minMap.y;
MKMapPoint p = MKMapPointForCoordinate(wanted_coord);//wanted_coord is the one needed
double pixel_x=p.x/width;
double pixel_y=p.y/height;
위의 편집을 참조하십시오. – jack
거의. 마지막 두 줄은'pixel_x = (p.x/width) * image_width ''이어야합니다. 또한 이미지가 실제로 coordinateOrigin에서 coordinateMax로 확장되는지 확인해야합니다. 또한 원점이 다른 경우 (예 : 0,0이지도의 가운데이지만 이미지의 왼쪽 하단에있는 경우) 너비 또는 높이의 절반만큼 픽셀을 오프셋해야합니다. – Craig
오른쪽! 스택 오버플로에서 다른 답변을 보았습니다. 그들은 많은 도움을주었습니다. – jack