请告诉我如何让图像显示在中心点。 让我详细说明一下。 我在MapPin上有一个自定义图像,但图像似乎是这样的
如果你仔细观察它,那么引脚会落在正确的纬度和长度上,但是圆形部分的图像中心落在纬度和长度上。这个纬度似乎与纬度不同位置。(见针座)。 但我们想要的却是落在位置上的引脚(Lat和Long)。 像这样......(参考第二张图片) 请不要告诉我更改图像的高度和宽度,因为有300张图像。 除非并且直到那是唯一的选择,或者我可以以编程方式更改它。
请帮助解决这个可悲的问题。
谢谢你好朋友。
答案 0 :(得分:1)
您可以使用centerOffset根据图像大小移动位置。
e.g。绝对偏移:
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString* const annIdentifier = @"annotationidentifier";
PinAnnotationView* myPinView = [[[PinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annIdentifier] autorelease];
myPinView.centerOffset = CGPointMake(0, -10.0f);
return myPinView;
}
根据您的个人图像尺寸,将这些绝对值替换为计算值。
答案 1 :(得分:0)
我在测试应用程序中做过类似的事情。
我把这些代码放在这里你可以用自己的方式自定义它,我希望这会对你有帮助。
在超级视图中加载,我有
MapAnnotation * ann = [[MapAnnotation alloc] init];
MKCoordinateRegion region;
region.center.latitude = 31.504679;
region.center.longitude = 74.247429;
region.span.latitudeDelta = 0.01;
region.span.longitudeDelta = 0.01;
[mapView setRegion:region animated:YES];
ann.title = @"Digital Net";
ann.subtitle = @"Office";
ann.coordinate = region.center;
[mapView addAnnotation:ann];