2013-04-11 8 views
5

がデリゲートメソッドスクロールが完了したIos Googleマップのデリゲートメソッドは何ですか?アップルで

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 

があると私はマップをスクロールやパン終わるときに発生するが、私はGoogleマップのために、このような方法を見つけることができませんでしマッピングします。 そこ方法

- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position 

であるが、この方法は、マップがまだスクロールされながら発射し続け、私はそれを望んでいません。私はスクロールが終了したときだけプロパティを変更しなければならない。

答えて

11

最新のSDKのリリースバージョン1.4.0 - 2013年7月には

- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position 

新しいデリゲートメソッドを追加したアクション

1

このような何かを追加するための機能要求がある:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=4722

ところであなたはおそらくマップ位置は、最後の呼び出し以降に変更されたかどうかを確認する定期的なタイマーを使用することによって、それを回避することができが、タイマーに送る。そうでない場合、ユーザーは地図の移動を停止しているので、プロパティを更新することができます。

0

を任意のカメラの動きの終わりにトリガまたはスクロールされているときidleAtCameraPositionがある用心あなたが指を持ち上げたときではなく、地図が動くのを止めます。

Googleのsdk iOS 1.7以降、まだ地図上に指を置いていても早く起動することに気付きました。

オーバーレイ/マーカーを再描画するために使用している場合、早すぎると吃音が発生する可能性があります。

私はGSMapViewをサブクラス化し、指が離されたときに取得するためにPanGestureRecognizer >> State ENDEDを追加する必要がありました。