8

我想在 GMSMapView 上显示一个箭头图像(我正在使用 google maps 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];
}}

标题过滤器设置为 12。

我也尝试过 trueHeading,但是磁头给出了更好的结果,但并不准确。
请帮忙。

4

1 回答 1

5

您实际上不需要将任何内容转换为度数。您从委托方法获得的newHeading对象应该足够了。animateToBearing的GMS 参考:需要 aCLLocationDirection作为参数。委托方法提供的newHeading.magneticHeadingnewHeading.trueHeading就是这种类型的对象。另外:您正在将 newHeading 转换为浮点数,其中 aCLLocationDirection是双精度数,因此 GMS 函数也需要双精度数。见参考。

于 2013-12-10T13:55:17.540 回答