`
xumingrencai
  • 浏览: 1183378 次
文章分类
社区版块
存档分类
最新评论

MKAnnotation image offset with custom pin image

 
阅读更多
</pre><pre>

YourUIAnnotationViewis always drawn at the same scale, the map's zoom level doesn't matter. That's whycenterOffsetisn't bound with the zoom level.

annView.centerOffsetis what you need. If you see that your pin is not at the good location (for example, the bottom center move a little when you change the zoom level), it's because you didn't set the right centerOffset.

By the way, if you want to set the point of the coordinate at the bottom center of the image, the x coordinate of your centerOffset should be 0.0f, as annotationView center the image by default. So try :

annView.centerOffset = CGPointMake(0, -imageHeight / 2);

或是

Setting the centerOffset often moves the image arround when user rotates or zooms the map, as anchor point is still set to the center of the image instead of its lower center.

You can set the anchor point of the annotation to the bottom center of you custom image as follows:

yourAnnotation.layer.anchorPoint = CGPointMake(0.5f, 1.0f);

This way when user zooms or rotates the map your custom annotation will never move from its coordinates on the map.


http://stackoverflow.com/questions/8165262/mkannotation-image-offset-with-custom-pin-image

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics