我想在GMSMapView上显示箭头图像(我正在使用谷歌地图sdk)。 现在,如果我开车(箭头显示我当前的位置),我必须左转,然后我必须改变mapView的方位。但我不知道该怎么做。
我正在尝试更改didUpdateHeading
中的方位- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{
if(newHeading.headingAccuracy>0)
{
float heading = newHeading.magneticHeading; //in degrees
//heading = (heading*M_PI/180);
//NSLog(@"heading=%f", heading);
[mapView animateToBearing:heading];
}}
headingFilter设置为12。
我也尝试过trueHeading,但是磁性攻击虽然提供了更好的结果但不准确 请帮忙。
答案 0 :(得分:5)
您实际上并不需要将任何内容转换为度数。从委托方法获得的newHeading
对象应该足够了。
GMS-reference for the animateToBearing:需要CLLocationDirection
作为参数。委托方法提供的 newHeading.magneticHeading 或 newHeading.trueHeading 是此类型的对象。
另外:你将newHeading转换为float,其中CLLocationDirection
是double,因此GMS函数也需要double。 See reference.