我想在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,但是磁性攻击虽然提供了更好的结果但不准确.
请帮忙.
你实际上并不需要将任何东西转换成度数.newHeading
从委托方法获得的对象应该足够了.animateToBearing的GMS参考:需要a CLLocationDirection
作为参数.委托方法提供的newHeading.magneticHeading或newHeading.trueHeading是这种类型的对象.另外:你将newHeading转换为float,其中a CLLocationDirection
为double,因此GMS函数也需要double.见参考文献.