2013-04-02 31 views
18

Tôi mới sử dụng Bản đồ Khái niệm.Cách chọn mã bản đồ theo chương trình

Vui lòng tìm hình ảnh đính kèm một lần.

enter image description here

khi tôi nhấp vào "pin" tôi đang nhận được tin nhắn nói "Chiêm ngưỡng nụ cười của bạn" hoặc bất kỳ văn bản ..... Bây giờ tôi muốn như ... khi chúng ta chọn xem bảng, tôi cần để nâng cao thông điệp đó cho ghim đó (với tương tác người dùng ngoài cho pin đó) ...

Tôi đang sử dụng mã bên dưới cho Bản đồ và ghim này.

-(void) viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:YES]; 
customLocation.latitude=[casesobjc.latitude_string doubleValue]; 
     customLocation.longitude=[casesobjc.longitude_string doubleValue]; 
MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation]; 
[mapView addAnnotation:newAnnotation]; 
} 
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation { 
MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"annotation_ID"]; 
if (pin == nil) { 
     pin = [[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"annotation_ID"]; 
    } else { 
     pin.annotation = annotation; 
    } 
    pin.pinColor = MKPinAnnotationColorPurple; 
    pin.animatesDrop = YES; 
    pin.canShowCallout=YES; 
return pin; 
} 

Bây giờ tôi sẽ hiển thị tất cả các ghim như sau.

enter image description here

Làm thế nào để làm Khi chúng ta click vào xem bảng tôi cần phải hiển thị các tiêu đề cho rằng pin giống như cách chúng tôi hiển thị khi chúng tôi chọn một pin?

Cảm ơn trước

+0

bạn đã đề cập đến chế độ xem nhấn giữ an toàn với chế độ xem hình ảnh tùy chỉnh/chế độ xem bản đồ tùy chỉnh không? – Spynet

+0

tôi không hiểu? ... tôi đã sử dụng mã này nhưng không hoạt động .. tức là customLocation.latitude = appdelegate.appDelegateLatitude; customLocation.longitude = appdelegate.appDelegateLongitude; MapViewAnnotation * newAnnotation = [[Phân bố MapViewAnnotation] initWithTitle: casesobjc.locationForMap_string andCoordinate: customLocation]; [mapView selectAnnotation: newAnnotation animated: YES]; @Spynet – Babul

+0

Chỉ cần vượt qua tên tiêu đề khi hàng được chọn và đặt tiêu đề cho chú thích – krishh

Trả lời

25

Phương pháp mà bạn đang tìm kiếm là selectAnnotation:.

Trong số didSelectRowAtIndexPath, bạn phải tìm chú thích được liên kết với hàng trong bảng.

Một khi bạn tìm thấy nó, bạn có thể nói với nó, để chọn nó bằng cách sử dụng:

[mapView selectAnnotation:foundAnnotation animated:YES]; 
+0

Tôi nghĩ rằng tôi có một vấn đề khá giống nhau. Bạn có thể vui lòng giúp xem xét [câu hỏi] của tôi (http://stackoverflow.com/questions/28144466/how-to-select-map-pin-when-tapping-table-row-that-associates-with-it) cũng thế? Tôi chỉ không thể tìm ra nó đặc biệt là về cách tìm chú thích được liên kết với hàng của bảng. – SanitLee

0

Giống như câu trả lời C Mục tiêu, trong tableview của bạn, bạn có một danh sách các chú thích. Trong Swift trong didSelectRow:

Đối Swift 4:

// annotations would be the array of annotations - change to your required data sets name 
let selectedAnnotation = annotations[indexPath.row] 
self.mapView.selectAnnotation(selectedAnnotation, animated: true) 

ngắn và đơn giản.

Các vấn đề liên quan