除非用户先在地图上移动,否则Mapbox iOS的flyToCamera会一直回到初始位置

时间:2018-04-09 18:49:32

标签: ios mapbox mapbox-gl

flyToCamera转到新摄像头位置,然后返回上一个摄像头位置。

如果用户移动地图(使用拖动手势),即使有一点点,flyToCamera功能也会开始工作。

这是我的代码:

 - (void) goToSomeCity {
    CLLocationCoordinate2D  city = CLLocationCoordinate2DMake(34.0522,-118.2437);
    MGLMapCamera *originCamera = [MGLMapCamera cameraLookingAtCenterCoordinate:city fromEyeCoordinate:self.mapView.userLocation.coordinate eyeAltitude:5000];
    [self.mapView flyToCamera:originCamera completionHandler:^{
        // Optionally do something
    }];
}

该功能由按钮调用:

- (IBAction)userPressedGoToCity {
    [self goToSomeCity];
}

如果用户在应用程序启动时按下按钮或没有先移动(拖动地图以更改地图的中心),则该功能将转到新相机,然后移回初始位置。但是当用户拖动以在地图上移动时,即使有一点点,该功能也能正常工作。

1 个答案:

答案 0 :(得分:1)

听起来你启用了user tracking mode,它会移动地图以跟随用户的位置(并在用户自己移动地图时禁用)。