Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@
- [获取导航数据](#NaviData)
- [自定义UI](#UIDesign)

###介绍
### 介绍
腾讯导航SDK是一款针对在线导航的产品。该产品能够结合实时交通信息计算路径,并且提供路径规划、模拟导航、实时导航、导航设置、自定义导航界面等功能,力求为用户提供更加人性化的导航服务。


<div id="ProjectConfig"></div>
###工程配置
### 工程配置
------------
#### 1权限申请
#### 1. 权限申请
(1) 若使用实时导航,则需要在`info.list`中添加NSLocationWhenInUseUsageDescriptionh和NSLocationAlwaysUsageDescription字段。
(2) 如果需要后台定位,需在IOS 9.0及以后设置allowBackgroundLocationUpdates为YES,此时必须保证`TARGETS->Capabilities->Background Modes->Location updates`处于选中状态。

#### 2引入SDK
#### 2. 引入SDK
在`TARGETS->Build Phases->Link Binary Libraries`中添加`WebP.framework`、导航SDK`TNKNavigationKit.framework`,在`TARGETS->Build Phases->Copy Bundle Resources`中添加资源文件`TencentNavigationKit.bundle`。
由于导航SDK依赖地图SDK,还需要依照[http://lbs.qq.com/ios_v1/guide-project-setup.html](http://lbs.qq.com/ios_v1/guide-project-setup.html)添加地图SDK。

#### 3申请和设置开发密钥
#### 3. 申请和设置开发密钥
前往[http://lbs.qq.com/console/mykey.html](http://lbs.qq.com/console/mykey.html)申请开发密钥,分别在QMapServices和TNKNaviServices的APIKey属性上设置。
```objc
[QMapServices sharedServices].APIKey = @"您的key";
Expand All @@ -30,9 +30,9 @@


<div id="NaviPlan"></div>
###驾车路径规划
### 驾车路径规划
------------
####基本介绍
#### 基本介绍
`TNKCarNaviManager`根据起点、终点、途经点以及路径策略,为用户提供出行路线。方法:
```objc
- (TNKSearchTask *)searchNavigationRoutesWithRequest:(TNKCarRouteSearchRequest *)request completion:(void (^)(TNKCarRouteSearchResult *result, NSError *error))callback;
Expand Down Expand Up @@ -71,7 +71,7 @@ TNKStartRoadType startRoadType:使用枚举设置起点路段类型,TNKStart
- 2005:算路失败
- 2999:服务器内部错误

####示例
#### 示例
```objc
// 初始化
self.carManager = [[TNKCarNaviManager alloc] init];
Expand Down Expand Up @@ -119,7 +119,7 @@ NSArray<TNKCarRouteSearchRoutePlan *> *routes
- line:路线数据,包含起终点、途经点、道路信息的坐标点串等

<div id="Navi"></div>
###导航
### 导航
------------
#### 基本介绍
腾讯导航SDK提供了实时导航和模拟导航,实时导航是基于用户真实的定位信息来驱动的导航过程,模拟导航是基于线路模拟点驱动的导航过程,路线规划完成后就可以开始导航。
Expand Down Expand Up @@ -152,7 +152,7 @@ locationEntry:(id <TNKLocationEntry> __nullable)locationEntry,路线规划成
导航地图可以通过`self.carNaviView.naviMapView`获取。


####使用说明
#### 使用说明

**1. 初始化**
导航过程中,导航SDK提供类TNKCarNaviView用于显示导航界面,由驾车导航控制类TNKCarNaviManager设置导航状态回调,调用驾车路线规划,启动/停止导航,设置路口方法图/车道线加载资源等。
Expand Down Expand Up @@ -257,9 +257,9 @@ self.carNaviView.TNKCarNaviFixCarProportion3D = CGPointMake(0.5, 0.75);
```

<div id="NaviData"></div>
###获取导航数据
### 获取导航数据
------------
####面板数据
#### 面板数据
用户若需要自定义导航面板,可以通过采用`TNKCarNaviUIDelegate`协议获取面板数据,TNKCarNaviManager可同时注册多个对象接收更新:
```objc
// 获取导航数据,包括当前道路名称、当前道路剩余距离、当前速度、总剩余距离、总剩余时间、下一条道路名称等
Expand Down Expand Up @@ -291,7 +291,7 @@ self.carNaviView.TNKCarNaviFixCarProportion3D = CGPointMake(0.5, 0.75);
```objc
self.carNaviView.naviMapView.delegate = self;
```
####导航状态数据
#### 导航状态数据
用户可以采用`TNKCarNaviDelegate`协议获取导航过程中出现的状态信息:
```objc
// 导航开始回调
Expand Down Expand Up @@ -322,7 +322,7 @@ didFailRecaculateRoute:(TNKCarNaviManagerRecaculateType)type;
```

<div id="UIDesign"></div>
###自定义UI
### 自定义UI
------------
#### 添加地图标注
可以获取TNKCarNaviView的地图实例,通过地图实例操控地图视野、添加路线/标注等;
Expand Down Expand Up @@ -376,7 +376,7 @@ self.polyline = [QPolyline polylineWithCoordinates:lineCoord count:2];
![](designed4.jpeg)


####添加面板控件
#### 添加面板控件
获取的导航数据可以用来添加导航面板控件,自定义导航面板。
**1. 添加控件**
```objc
Expand Down Expand Up @@ -465,6 +465,6 @@ self.textView2 = [[UITextView alloc] initWithFrame:CGRectMake(200, 30, 170, 70)]
```
![](designed2.jpeg)

####自定义资源
#### 自定义资源
如果想要自定义资源,如小车Marker、自车罗盘等,用户可以直接替换`TencentNavigationKit.bundle`中的资源文件,(不能修改资源名称)此时导航SDK在使用时会加载用户提供的资源文件。
![](desinged3.jpeg)