请让我知道如何使图像出现在中心点。让我详细说明。我在 MapPin 上有一个自定义图像,但图像似乎是这样的
如果你仔细观察,图钉落在正确的纬度和经度上,但圆形部分的图像中心落在经度和经度上。因此,经度似乎在不同的位置。(见针座)。但我们想要的是针脚落在位置(纬度和经度)上。像这样的东西..(参考第二张图片)请不要告诉我更改图片的高度和宽度,因为有 300 张图片。除非直到那是唯一的选择,或者我可以通过编程方式更改它。
请帮助解决这个可悲的问题。
谢谢你的朋友。
请让我知道如何使图像出现在中心点。让我详细说明。我在 MapPin 上有一个自定义图像,但图像似乎是这样的
如果你仔细观察,图钉落在正确的纬度和经度上,但圆形部分的图像中心落在经度和经度上。因此,经度似乎在不同的位置。(见针座)。但我们想要的是针脚落在位置(纬度和经度)上。像这样的东西..(参考第二张图片)请不要告诉我更改图片的高度和宽度,因为有 300 张图片。除非直到那是唯一的选择,或者我可以通过编程方式更改它。
请帮助解决这个可悲的问题。
谢谢你的朋友。
您可以使用 centerOffset 根据您的图像尺寸移动位置。
例如绝对偏移量:
-(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;
}
根据您的个人图像尺寸将这些绝对值替换为计算值。
我在测试应用程序中做了类似的事情。
我把代码放在这里,你可以用你自己的方式自定义它,我希望这会对你有所帮助。
在超级视图中确实加载了,我有
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];