GMSMapView 跟踪模式标题
GMSMapView tracking mode heading
在我的应用中,我正在使用 GMSMapView
,我想更改跟踪模式。在 iOS MapKit 中,我可以将跟踪模式更改为 MKUserTrackingModeFollowWithHeading
,但不知道如何在 GMSMapView
中更改它。
在应用程序 Google Maps
中,它在第二次触摸 myLocationButton
后运行。可能吗?
要不断更改当前位置的相机,您需要将 google 地图的 GMSCamera 更新到当前位置。您可以在位置管理器委托方法中完成。
CLLocation *location;
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
//Get current latitude and longitude from didUpdateLocation
location = [locations lastObject];
}
-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:location.coordinate.latitude longitude:location.coordinate.longitude zoom:10 bearing:newHeading.trueHeading viewingAngle:0];
//You can change viewingAngle from 0 to 45
[self.mapForView animateToCameraPosition:camera];
}
如果您的代表没有接到电话,请从我的回答中寻求帮助here
希望对您有所帮助。
在我的应用中,我正在使用 GMSMapView
,我想更改跟踪模式。在 iOS MapKit 中,我可以将跟踪模式更改为 MKUserTrackingModeFollowWithHeading
,但不知道如何在 GMSMapView
中更改它。
在应用程序 Google Maps
中,它在第二次触摸 myLocationButton
后运行。可能吗?
要不断更改当前位置的相机,您需要将 google 地图的 GMSCamera 更新到当前位置。您可以在位置管理器委托方法中完成。
CLLocation *location;
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
//Get current latitude and longitude from didUpdateLocation
location = [locations lastObject];
}
-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:location.coordinate.latitude longitude:location.coordinate.longitude zoom:10 bearing:newHeading.trueHeading viewingAngle:0];
//You can change viewingAngle from 0 to 45
[self.mapForView animateToCameraPosition:camera];
}
如果您的代表没有接到电话,请从我的回答中寻求帮助here
希望对您有所帮助。