Ответ 1
Пожалуйста, обратитесь к документации Google Map: SDK Google Maps для 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];
}
Пожалуйста, обратитесь к документации Google Map: SDK Google Maps для iOS
См. Раздел "Удалить маркер". Всегда проверяйте документацию для таких методов.
Чтобы удалить все маркеры
mapView.clear()
Чтобы удалить конкретный маркер
myMarker.map = nil
Чтобы удалить все маркеры, выполните следующие действия:
[self.mapView clear];
mapView.clear()
//Он очистит все маркеры от GMSMapView.
mapView.clear() не очень хорошая идея. потому что в Places SDK для iOS применяется ограничение по умолчанию в 1000 запросов в течение 24 часов. (Если ваше приложение превысит этот предел, приложение начнет отказывать. Проверьте вашу личность, чтобы получить 150 000 запросов в течение 24 часов.) whit mapView.clear( ) запросы увеличиваются. лучший способ - очистить каждый маркер и полилинии.
Просто
стриж
var mapView = GMSMapView() // Global Declaration
self.mapView.clear() // clear the markers
Сначала очистите значки вида карты и установите маркер после него.
Он должен написать на вашей карте функцию фиксации маркера, прежде чем использовать какие-либо циклы.