web-dev-qa-db-ja.com

GoogleマップiOSからマーカーを削除する

ストーリーボードとGoogleマップを使用してiOSアプリを構築しています。 iOS6を使用する

私のアプリケーションは、facebookアプリで見られるような分割ビューナビゲーションを特徴としています

左のビューで、緯度/経度コードが含まれるリスト内のアイテムを選択し、次の方法でマップに表示しています

- (void)viewWillAppear:(BOOL)animated

別のマーカーを追加する前にこの方法ですべてのマーカーを削除したいので(マップ上にマーカーが1つだけあります)、これを行う方法はありますか?以下は、mapViewにマーカーを追加するための私のコードです

事前に感謝-ジョン

- (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];
}
23
jchri853

Googleマップのドキュメントを参照してください: iOS用GoogleマップSDK

セクションマーカー「マーカーを削除する」を参照してください。そのような方法については、常にドキュメントを確認してください。

11
iOSGuru248

すべてのマーカーを削除するには

mapView.clear()

特定のマーカーを削除するには

myMarker.map = nil
45
Bassant Ashraf

すべてのマーカーを簡単に削除するには:

[self.mapView clear];
34
jturolla

mapView.clear()

// GMSMapViewからすべてのマーカーをクリアします。

4
Hitesh Chauhan

mapView.clear()はお勧めできません。 iOSのPlaces SDKは24時間あたり1,000リクエストのデフォルト制限を適用するためです(アプリが制限を超えると、アプリは失敗し始めます。24時間あたり150,000リクエストを取得するには、IDを確認してください)。 )要求が増加します。最良の方法は、各マーカーとポリラインをクリアすることです。

1

単純な

Swift

var mapView = GMSMapView() // Global Declaration

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

最初に、マップビューアイコンをクリアし、その後にマーカーを設定します。

ループを使用する前に、マップビューマーカー固定関数に書き込む必要があります。

0
M VIJAY