Mapkit,MKDirections,语音旁白,

时间:2014-03-22 15:19:27

标签: ios ios7 mapkit

我正在使用一个使用mapkit的iOS 7应用程序,我可以为用户路由和设置方向。 我正在尝试重新创建苹果地图应用程序在开始旅行时完全相同的方式,声音即将出现并叙述步骤和相机移动。我不知道那是否可能,我在哪里可以找到暴露它的课程。

感谢。

3 个答案:

答案 0 :(得分:0)

关于叙述,我不知道。但是对于用户的追踪和相机移动,我使用了这个库:https://github.com/100grams/CoreLocationUtils

有很多帮助者,我相信它可以帮助你;)

要旋转视图,您必须开始标题,如下所示:

// some code
[self.locationManager startUpdatingHeading];
// some code

然后,实现此委托方法:

-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {

    if (newHeading.headingAccuracy > 0 && abs(self.over-newHeading.trueHeading) > 3) {

        CGFloat north = -1.0f * M_PI * (newHeading.trueHeading) / 180.0f;
        CGFloat bearing = -1.0f * M_PI * (newHeading.trueHeading-self.bearing) / 180.0f;

        /* do some verifications here
           you can make the rotation here using CGAffineTransformMakeRotation(north)
           or CGAffineTransformMakeRotation(bearing )
         */

        self.over = newHeading.trueHeading;
    }
}

最后,在这个委托方法中,您可以使用库(前面提到的)获得2个坐标之间的方位值:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *newLocation = [locations lastObject];
    self.currentUserLocation = newLocation;

    // set the target location...

    self.bearing = [CLLocation directionFromCoordinate:self.currentUserLocation.coordinate toCoordinate:self.targetLocation.coordinate];

}

希望能帮到你;)

答案 1 :(得分:0)

此功能专用于Apple Maps App。 您可以自己使用地图或创建此功能。

答案 2 :(得分:0)

查看OpenEars的旁白选项。

在iOS 7及更高版本中,MKMapCamera及其动画功能将帮助您在地图视图中实际踩踏。