如何将UIView添加到MKMap,这样当我们移动地图时,UIView也会随地图一起移动,我的意思是说我们将UIView(或任何UI组件)添加到MKMap然后我们要么缩放/移动地图周围,UIView保持固定在其初始位置,我需要作为地图移动UIView也随之移动。
答案 0 :(得分:1)
假设我正确理解了这一点,您希望能够在MKMapView上的特定坐标处添加自定义视图。
如果是这样,MKMapView将它们称为Annotations,MKMapView类公开addAnnotation:和addAnnotations:方法。这些方法需要传递一个符合MKAnnotation协议的对象,这意味着你的对象必须提供标题,副标题和坐标(这是一个CLLocationCoordinate2D)。
重要的是要注意;这个对象不是你的UIView,它只是一个为你的视图提供数据的对象。
为了实际添加新的,你需要一个实现MKMapViewDelegate协议的对象,我建议你使用UIViewController子类(包括你的mapview等)。
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
// Instiate your UIView. The annotation passed into this method is the annotation your passed to the mapview's addAnnotation method, so you can cast this and access any application specific data.
}
这就是它。向mapview添加注释,mapview要求它的委托为该注释提供视图。
答案 1 :(得分:1)
您可能需要查看MKAnnotationView类参考,尤其是有关管理标注视图的部分。
如果控制级别不够,请查看here。