fre*_*rik 49 iphone google-maps objective-c mkannotationview
我有一个MKAnnotation与自定义图钉图像.但是,引脚(MKAnnotationView)使图像相对于指定的坐标居中.我想将坐标点设置在图像的底部中心,而不是中心.
我试过用了annView.centerOffset = CGPointMake(-12, -28);.但问题是centerOffset与地图缩放级别无关.
可以在JS API和Android中执行此操作.有没有可能在objective-c中这样做?
..fredrik
Zol*_*eas 138
您UIAnnotationView总是以相同的比例绘制,地图的缩放级别无关紧要.这就是为什么centerOffset不与缩放级别绑定.
annView.centerOffset是你需要的.如果您发现您的引脚位于不正确的位置(例如,当您更改缩放级别时底部中心移动一点),那是因为您没有设置正确的centerOffset.
顺便说一下,如果要在图像的底部中心设置坐标点,则centerOffset的x坐标应为0.0f,因为annotationView默认将图像居中.所以尝试:
annView.centerOffset = CGPointMake(0, -imageHeight / 2);
Run Code Online (Sandbox Code Playgroud)
Pan*_*cho 44
当用户旋转或缩放地图时,设置centerOffset通常会移动图像,因为锚点仍设置为图像的中心而不是其中心.
您可以将注释的锚点设置为自定义图像的底部中心,如下所示:
yourAnnotation.layer.anchorPoint = CGPointMake(0.5f, 1.0f);
Run Code Online (Sandbox Code Playgroud)
这样,当用户缩放或旋转地图时,您的自定义注记将永远不会从地图上的坐标移动.
| 归档时间: |
|
| 查看次数: |
20586 次 |
| 最近记录: |