2013-04-17 44 views
13

Tôi đang xây dựng ứng dụng iOS bằng bảng phân cảnh và Google Maps. Sử dụng iOS6Xóa điểm đánh dấu khỏi bản đồ google iOS

Ứng dụng của tôi tính năng điều hướng split xem như đã thấy trong các ứng dụng facebook

Theo quan điểm trái của tôi Tôi chọn một mục trong một danh sách trong đó có dây lat/long và hiển thị nó trên bản đồ của tôi về sau phương pháp

- (void)viewWillAppear:(BOOL)animated

tôi muốn loại bỏ tất cả các dấu hiệu trong phương pháp này trước khi tôi thêm một số khác (như vậy chỉ có một điểm đánh dấu trên bản đồ), là có một cách để làm điều này? Dưới đây là mã của tôi để thêm một dấu hiệu cho MapView

Cảm ơn trước - Jon

- (void)loadView 
{ 
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:poi.lat 
                  longitude:poi.lon 
                   zoom:15]; 
    mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; 

    mapView.myLocationEnabled = YES; 
    self.view = mapView; 
    mapView.mapType = kGMSTypeHybrid; 

    //Allows you to tap a marker and have camera pan to it 
    mapView.delegate = self; 
} 

-(void)viewWillAppear:(BOOL)animated 
{ 
    GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init]; 
    options.position = CLLocationCoordinate2DMake(poi.lat, poi.lon); 
    options.title = poi.title; 
    options.snippet = poi.description; 
    options.icon = [UIImage imageNamed:@"flag-red.png"]; 
    [mapView addMarkerWithOptions:options]; 

    [mapView animateToLocation:options.position]; 
    [mapView animateToBearing:0]; 
    [mapView animateToViewingAngle:0]; 
} 

Trả lời

7

Vui lòng tham khảo các tài liệu Google Map: Google Maps SDK for iOS

Vui lòng tham khảo danh mục "Di chuyển một dấu hiệu ". Luôn kiểm tra tài liệu cho các phương pháp như vậy.

+0

Tôi đang sử dụng GMSMapView - Google maps Class. Trừ khi bạn có thể áp dụng những phương pháp đó cho bản đồ google? – jchri853

+0

lời xin lỗi của tôi, vui lòng xem chỉnh sửa. – iOSGuru248

+0

haha ​​NP, bị bỏ lỡ trong tài liệu, cảm ơn đã dành thời gian giúp tôi! – jchri853

27

Để loại bỏ tất cả các dấu hiệu làm đơn giản:

[self.mapView clear]; 
+0

Làm cách nào để xóa một điểm đánh dấu cụ thể? –

+0

loại bỏ điểm đánh dấu này và tất cả các mục của bản đồ, giải pháp tốt hơn? –

+0

Lưu ý rằng thao tác này sẽ xóa mọi thứ trên bản đồ. Vì vậy, nếu bạn có dấu và có lẽ polylines, nó cũng sẽ xóa chúng là tốt. Nếu bạn có cả hai bạn sẽ muốn đặt tất cả các điểm đánh dấu trong một mảng, lặp qua mảng và xóa từng mảng. Điều này sẽ giữ cho polylines của bạn. –

26

Để loại bỏ tất cả các dấu hiệu

mapView.clear() 

Để loại bỏ một dấu hiệu cụ thể

myMarker.map = nil 
0

mapView.clear()

// Nó w bệnh rõ ràng tất cả các dấu hiệu từ GMSMapView.

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