百度地图SDK提供简单的接口用来调起百度地图客户端(Native、Web)来实现复杂的业务逻辑。支持的调起类型有:路线规划(步行路线规划、驾车路线规划、公交路线规划)、导航(驾车导航、步行导航、骑行导航)、POI检索(POI周边检索、POI详情检索、POI全景)。
注意:部分调起功能需要百度地图客户端APP 8.6.6以上的版本才可以支持。
当手机中安装了百度地图客户端APP(版本号为8.6.6以上),可直接调起百度地图客户端。若没有安装百度地图APP(Native),默认调起百度地图WebAPP展示,开发者可以通过BaiduMapNavigation类、BaiduMapRoutePlan类以及BaiduMapPoiSearch类中的setSupportWeb相关方法设置是否调起百度地图WebAPP。同时请确保传入的坐标类型和百度地图SDK的全局类型一致。
以调起百度地图公交路线规划为例,说明使用百度地图SDK调起百度地图客户端路线规划的方法。
注意:在构造RouteParaOption时,起终点需至少包含基本的信息。
如:可以是startName + endName 或 startPoint + endPoint 或 startName + endPoint 或者 startName + endName + startPoint + endPoint。
//定义起终点坐标(天安门和百度大厦)LatLng startPoint = new LatLng(39.915291, 116.403857);LatLng endPoint = new LatLng(40.056858, 116.308194);//构建RouteParaOption参数以及策略//也可以通过startName和endName来构造RouteParaOption paraOption = new RouteParaOption().startPoint(startPoint).endPoint(endPoint).busStrategyType(RouteParaOption.EBusStrategyType.bus_recommend_way);//调起百度地图try {BaiduMapRoutePlan.openBaiduMapTransitRoute(paraOption, this);} catch (Exception e) {e.printStackTrace();}…//调起结束时及时调用finish方法以释放相关资源BaiduMapRoutePlan.finish(this);
以调起百度地图步行导航为例,说明使用百度地图SDK调起百度地图客户端导航的方法(步行导航需要百度地图APP 8.6.6以上版本才可以支持)。
//定义起终点坐标(天安门和百度大厦)LatLng startPoint = new LatLng(39.915291, 116.403857);LatLng endPoint = new LatLng(40.056858, 116.308194);//构建导航参数NaviParaOption para = new NaviParaOption().startPoint(startPoint).endPoint(endPoint).startName("天安门").endName("百度大厦");//调起百度地图try {BaiduMapNavigation.openBaiduMapWalkNavi(para, this);} catch (BaiduMapAppNotSupportNaviException e) {e.printStackTrace();//调起失败的处理}//调起结束时及时调用finish方法以释放相关资源BaiduMapNavigation.finish(this);
调起百度地图POI周边检索的方法。
//Poi检索中心点,天安门LatLng ptCenter = new LatLng(39.915291, 116.403857);//设置Poi检索关键字和范围//检索以天安门为中心的2000米范围内"西单"的POI数据点PoiParaOption para = new PoiParaOption().key("西单").center(ptCenter).radius(2000);//发起检索try {BaiduMapPoiSearch.openBaiduMapPoiNearbySearch(para, this);} catch (Exception e) {e.printStackTrace();}//调起结束时及时调用finish方法以释放相关资源BaiduMapPoiSearch.finish(this);
使用百度地图SDK调起百度地图客户端POI周边检索与调起百度地图POI详情页和POI全景的方法存在较大不同,后两者需要先通过百度地图SDK检索功能获取到POI点的UID,POI检索
调起百度地图客户端POI详情页的方法。
PoiParaOption para = new PoiParaOption().uid("65e1ee886c885190f60e77ff"); // 天安门UID//调起百度地图客户端try {BaiduMapPoiSearch.openBaiduMapPoiDetialsPage(para, this);} catch (Exception e) {e.printStackTrace();}
调起百度地图客户端POI全景的方法。
try {BaiduMapPoiSearch.openBaiduMapPanoShow("65e1ee886c885190f60e77ff", this); // 天安门UID} catch (Exception e) {e.printStackTrace();}
上一篇
下一篇
本篇文章对您是否有帮助?