更新时间:2020-06-23
调起百度地图功能介绍
百度地图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周边检索的方法。
//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,[http://lbsyun.baidu.com/index.php?title=androidsdk/guide/search/poi参考“POI检索” ]。
调起百度地图客户端POI详情页
调起百度地图客户端POI详情页的方法。
PoiParaOption para = new PoiParaOption() .uid("65e1ee886c885190f60e77ff"); // 天安门UID //调起百度地图客户端 try { BaiduMapPoiSearch.openBaiduMapPoiDetialsPage(para, this); } catch (Exception e) { e.printStackTrace(); }
调起百度地图客户端POI全景
调起百度地图客户端POI全景的方法。
try { BaiduMapPoiSearch.openBaiduMapPanoShow("65e1ee886c885190f60e77ff", this); // 天安门UID } catch (Exception e) { e.printStackTrace(); }