我在 UIImageView 中显示图像,我想将坐标转换为 x/y 值,以便可以在此图像上显示城市。这是我根据我的研究尝试的:
CGFloat height = mapView.frame.size.height;
CGFloat width = mapView.frame.size.width;
int x = (int) ((width/360.0) * (180 + 8.242493)); // Mainz 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];
这给了我 167 作为 x 和 y=104 但这个例子应该有值 x=73 和 y=294。
mapView 是我的 UIImageView,只是为了澄清。
所以我的第二次尝试是使用 MKMapKit:
CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(49.993615, 8.242493);
MKMapPoint point = MKMapPointForCoordinate(coord);
NSLog(@"x is %f and y is %f",point.x,point.y);
但这给了我一些非常奇怪的值:x = 140363776.241755,y 是 91045888.536491。
那么你知道我必须做什么才能让它工作吗?
非常感谢!