Подтвердить что ты не робот

Удаление маркеров с карт google iOS

Я создаю приложение iOS с помощью раскадровки и Google Maps. Использование iOS6

Мое приложение имеет навигацию с разделенным видом, как показано в приложении facebook

На моем левом представлении я выбираю элемент в списке с длинными/длинными шнурами и показывая его на моей карте по следующему методу

- (void)viewWillAppear:(BOOL)animated

Я хотел бы удалить все маркеры в этом методе, прежде чем добавить еще один (так что только один маркер находится на карте), есть ли способ сделать это? Ниже мой код добавляет маркер в mapView

Заранее спасибо - 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];
}
4b9b3361

Ответ 1

Пожалуйста, обратитесь к документации Google Map: SDK Google Maps для iOS

См. Раздел "Удалить маркер". Всегда проверяйте документацию для таких методов.

Ответ 2

Чтобы удалить все маркеры

mapView.clear()

Чтобы удалить конкретный маркер

myMarker.map = nil

Ответ 3

Чтобы удалить все маркеры, выполните следующие действия:

[self.mapView clear];

Ответ 4

mapView.clear()

//Он очистит все маркеры от GMSMapView.

Ответ 5

mapView.clear() не очень хорошая идея. потому что в Places SDK для iOS применяется ограничение по умолчанию в 1000 запросов в течение 24 часов. (Если ваше приложение превысит этот предел, приложение начнет отказывать. Проверьте вашу личность, чтобы получить 150 000 запросов в течение 24 часов.) whit mapView.clear( ) запросы увеличиваются. лучший способ - очистить каждый маркер и полилинии.

Ответ 6

Просто

стриж

var mapView = GMSMapView() // Global Declaration

self.mapView.clear() // clear the markers

Сначала очистите значки вида карты и установите маркер после него.

Он должен написать на вашей карте функцию фиксации маркера, прежде чем использовать какие-либо циклы.