谷歌地图ios:Mapview路线垂直折线始终指向位置箭头的北或顶部

时间:2015-05-09 15:33:50

标签: ios google-maps

我已在我的应用中实现了Google Maps IOS的​​基本功能。

我必须设置mapview的方位始终指向Top OR North。

如果我点击导航按钮,我需要将mapview设置为与谷歌地图ios应用程序相同的位置顶部箭头。

箭头应始终固定并指向北方,只有mapview会根据转弯或位置设置动画或更改方位。

这是我们正确的enter image description here enter image description here 这是错的>

1 个答案:

答案 0 :(得分:0)

我正在为路线显示和计算调用方向API。作为回应,他们为路线步骤提供html_instructions。阶跃响应的第一个指标总是相对于北方向返回一个头部。我们可以根据我们从指令得到的头部设置方位。

if ([HeadTo_Str isEqualToString:@"east"]) {
            [mapView animateToBearing:90];
            locationMarker_.rotation=90;
        }
        else if ([HeadTo_Str isEqualToString:@"eastsouth"] || [HeadTo_Str isEqualToString:@"southeast"] ) {
            [mapView animateToBearing:135];
            locationMarker_.rotation=135;
        }
        else if ([HeadTo_Str isEqualToString:@"north"]) {
            [mapView animateToBearing:0];
            locationMarker_.rotation=0;
        }
        else if ([HeadTo_Str isEqualToString:@"northeast"] ||[HeadTo_Str isEqualToString:@"eastnorth"] ) {
            [mapView animateToBearing:45];
            locationMarker_.rotation=45;
        }
        else if ([HeadTo_Str isEqualToString:@"south"]) {
            [mapView animateToBearing:180];
            locationMarker_.rotation=180;
        }
        else if ([HeadTo_Str isEqualToString:@"southwest"] || [HeadTo_Str isEqualToString:@"westsouth"]) {
            [mapView animateToBearing:-135];
            locationMarker_.rotation=-135;
        }
        else if ([HeadTo_Str isEqualToString:@"west"]) {
            [mapView animateToBearing:-90];
            locationMarker_.rotation=-90;
        }
        else if ([HeadTo_Str isEqualToString:@"westnorth"] || [HeadTo_Str isEqualToString:@"northwest"]) {
            [mapView animateToBearing:-45];
            locationMarker_.rotation=-45;
        }