您好,登錄后才能下訂單哦!
//創建大頭針對象 MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init]; //插入大頭針的位置 pointAnnotation.coordinate = CLLocationCoordinate2DMake(39.989631, 116.481018); //大頭針的標題 pointAnnotation.title = @"方恒國際"; //大頭針的子標題 pointAnnotation.subtitle = @"阜通東大街6號"; [_mapView addAnnotation:pointAnnotation]; //實現下列方法后能讓地圖上得大頭針彈出氣泡 - (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id <MAAnnotation>)annotation { if ([annotation isKindOfClass:[MAPointAnnotation class]]) { static NSString *pointReuseIndetifier = @"pointReuseIndetifier"; MAPinAnnotationView*annotationView = (MAPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:pointReuseIndetifier]; if (annotationView == nil) { annotationView = [[MAPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pointReuseIndetifier]; } annotationView.canShowCallout= YES; //設置氣泡可以彈出,默認為NO annotationView.animatesDrop = YES; //設置標注動畫顯示,默認為NO annotationView.draggable = YES; //設置標注可以拖動,默認為NO annotationView.pinColor = MAPinAnnotationColorPurple; return annotationView; } return nil; } 用坐標信息判斷 你沒說想要的具體的效果 那我就給你說一種吧 假設你地圖上面有n個大頭針 實際上也就是n個pointAnnotation 你可以通過_mapView.annotations直接獲取到 這是個數組 在點擊大頭針的方法里面 - (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view { NSArray * array = [NSArray arrayWithArray:_mapView.annotations]; for (int i=0; i<array.count; i++) { if (view.annotation.coordinate.latitude ==((BMKPointAnnotation*)array[i]).coordinate.latitude) { //獲取到當前的大頭針 你可以執行一些操作 } else { //對其余的大頭針進行操作 我是刪除 //[_mapView removeAnnotation:array[i]]; } } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。