Wyświetlam obraz w UIImageView i chciałbym przekonwertować współrzędne na wartości x/y, więc mogę pokazać miasta na tym obrazie. To co próbowałem na podstawie moich badań:Konwertuj długość/szerokość na x/y na iPhonie
CGFloat height = mapView.frame.size.height;
CGFloat width = mapView.frame.size.width;
int x = (int) ((width/360.0) * (180 + 8.242493)); //Main lon
int y = (int) ((height/180.0) * (90 - 49.993615)); //Mainz lat
NSLog(@"x:%i y:%i",x,y);
PinView *pinView = [[PinView alloc]initPinViewWithPoint:x andY:y];
[self.view addSubview:pinView];
który daje mi 167 jako X i Y = 104, ale ten przykład powinien mieć wartości X = 73 & y = 294.
mapView jest moim UIImageView, tylko dla wyjaśnienia.
Więc moja druga próba była użyć MKMapKit:
CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(49.993615, 8.242493);
MKMapPoint point = MKMapPointForCoordinate(coord);
NSLog(@"x is %f and y is %f",point.x,point.y);
Ale to daje mi kilka naprawdę dziwnych wartości: x oraz y = 140363776,241755 jest +91.045.888,536491. Czy masz pomysł, co muszę zrobić, aby to zadziałało?
Dziękuję bardzo!
Jaką formułę chcesz znaleźć x i y? –
według formuły, która działa: D właśnie przeszukałem Internet i znalazłem powyższy wzór. Zasadniczo mam mój ekran iPhone'a, który pokazuje obraz kraju i chcę znaleźć miasta na tym obrazie za pomocą współrzędnych długości i szerokości geograficznej. – dehlen
Powyższy wzór służy do projekcji mecatora. I myślałem, że mam coś takiego. Oto zrzut ekranu mojego projektu: http://cl.ly/LySY. Mała czarna kropka powinna wskazywać na miasto "Mainz" (w środkowym lewym). I nie do górnego środka w pobliżu "Bremen" – dehlen