首先三个注意点:###
1.集成过程中 在百度开放平台上创建应用,创建时的AK (也就是Bundle Identifier)和应用名称必须一致,应用的名称很重要,是个大坑。否则无法开启百度地图。
_mapManager = [[BMKMapManager alloc]init];
BOOL ret = [_mapManager start:@"AK。。。。。。。" generalDelegate:self];
if (!ret) {
NSLog(@"manager start failed!");
}
2.导航用到的AK和百度地图的AK可以一致,需要申请TTS授权,导航方面只有驾车导航,没有开放步行导航,高德地图好像开放了步行的导航。
3.规划路线时,驾车和步行只需要传两个参数即可(经度和纬度),但是公交路线规划必须传三个参数(经度,纬度和所在的城市名称),城市名称通过反编码获得,这也是个大坑,API里没有相关说明,但是只传经纬度公交路线规划不成功。
BMKTransitRoutePlanOption *transitRouteSearchOption = [[BMKTransitRoutePlanOption alloc] init];
transitRouteSearchOption.city = self.cityName; //
transitRouteSearchOption.from = startPlanNode;
transitRouteSearchOption.to = endPlanNode;
看下效果图:
代码还是直接去github上看吧。关键是多熟悉一下API里的类和之间的关系。你会发现很多东西。比如:公交路线查询时,只有站点名称没有开放,其他的完全可以仿照一个百度地图APP出来。