1

iOSにGoogleマップSDKがあり、userlocation = yesを有効にしています。ユーザーが移動したときに GPS 経由でユーザーの位置を取得したい。ユーザーが移動し続けると、場所の更新を返すメソッドがドキュメントに見つかりませんでした。これらの場所を使用してカメラを継続的に更新することにより、ユーザーを画面の中央に保ちたいと考えています。

これについて何かポイントはありますか?マップにジェスチャを適用すると更新されるメソッド didchangecameraposition がありますが、GPS が更新されたときは更新されません。

4

1 に答える 1

5

Google マップ SDK を完全に使用することはできません。CLLocationManger フレームワークを使用して場所の更新を取得する必要があります。

locationManager を初期化して、重要な場所の変更を登録し、デリゲートを適切に設定します

if (nil == locationManager)
    locationManager = [[CLLocationManager alloc] init];

locationManager.delegate = self;
//Configure Accuracy depending on your needs, default is kCLLocationAccuracyBest
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;

// Set a movement threshold for new events.
locationManager.distanceFilter = 500; // meters, set according to the required value.

[locationManager startUpdatingLocation];

ロケーションマネージャーの代理人:

- (void)locationManager:(CLLocationManager *)manager
      didUpdateLocations:(NSArray *)locations {
    // If it's a relatively recent event, turn off updates to save power.
   CLLocation* location = [locations lastObject];
   NSDate* eventDate = location.timestamp;
   NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
   if (abs(howRecent) < 15.0) {
      // Update your marker on your map using location.coordinate by using the GMSCameraUpdate object

   GMSCameraUpdate *locationUpdate = [GMSCameraUpdate setTarget:location.coordinate zoom:YOUR_ZOOM_LEVEL];
   [mapView_ animateWithCameraUpdate:locationUpdate];


}
于 2014-04-10T06:54:25.190 に答える