1.成为开发者 /
2.创建应用,申请密匙:
生成SHA1工具:
开发版:未签名
发布版:签名
3.把相关类库导入工程,SDK地址:
4.添加相应权限
权限
5.添加秘钥和服务
密匙和服务
6.初始化SDK
注意在manifest中注册
7.创建带有Map的Activity
View的使用
8.找到MapView控件,设置Map的生命周期,并获取BaiduMap
设置生命周期
获取BaiduMap
9.初始化定位设置并设置监听
初始化设置
设置监听
10.检索的使用
创建检索
11.检索的监听回调
检索的使用
11.设置mark点和点击事件
12.步行线路和测距
13.公交路线
14.自驾路线
15.路线的监听,及路线的文字描述
classMyOnGetRoutePlanResultListenerimplementsOnGetRoutePlanResultListener {
/**
* 步行结果
*
*@param
*/
@Override
public voidonGetWalkingRouteResult(WalkingRouteResult result) {
if(result ==null
|| SearchResult.ERRORNO.RESULT_NOT_FOUND== ) {
Toast.makeText(getApplicationContext(),"未查询到结果", Toast.LENGTH_SHORT).show();
return;
}
if(mMethod==BuXin) {
mWalkingRouteOverlay=newMyWalkingRouteOverlay(mBaiduMap);
mBaiduMap.setOnMarkerClickListener(mWalkingRouteOverlay);
WalkingRouteLine line = RouteLines().get(0);
mWalkingRouteOverlay.setData(line);// 设置数据
mWalkingRouteOverlay.addToMap();// 添加到地图上
List allStep = AllStep();
String content ="";
for(inti =0; i < allStep.size(); i++) {
WalkingRouteLine.WalkingStep walkingStep = (i);
String instructions = Instructions();
if(i < allStep.size()-1) {
content += instructions +"n";
}else{
content += instructions;
}
}
mTvContent.clearComposingText();
mTvContent.setText(content);
mSl.setVisibility(View.VISIBLE);
setHeight();
}
}
/**
* 换乘路线结果回调
*
*@param
*/
@Override
public voidonGetTransitRouteResult(TransitRouteResult result) {
if(result ==null
|| SearchResult.ERRORNO.RESULT_NOT_FOUND== ) {
Toast.makeText(getApplicationContext(),"未查询到结果", Toast.LENGTH_SHORT).show();
return;
}
if(mMethod==GongJiao) {
mTransitRouteOverlay=newMyTransitRouteOverlay(mBaiduMap);
mBaiduMap.setOnMarkerClickListener(mTransitRouteOverlay);
TransitRouteLine line = RouteLines().get(0);
mTransitRouteOverlay.setData(line);// 设置数据
mTransitRouteOverlay.addToMap();// 添加到地图上
List allStep = AllStep();
String content ="";
for(inti =0; i < allStep.size(); i++) {
TransitRouteLine.TransitStep transitStep = (i);
String instructions = Instructions();
if(i
content += instructions +"n";
}else{
content += instructions;
}
}
mTvContent.clearComposingText();
mTvContent.setText(content);
mSl.setVisibility(View.VISIBLE);
setHeight();
}
}
/**
* 跨城公共交通路线结果回调
*
*@parammassTransitRouteResult
*/
@Override
public voidonGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) {
}
/**
* 驾车路线结果回调
*
*@paramresult
*/
@Override
public voidonGetDrivingRouteResult(DrivingRouteResult result) {
if(result ==null
|| SearchResult.ERRORNO.RESULT_NOT_FOUND== ) {
Toast.makeText(getApplicationContext(),"未查询到结果", Toast.LENGTH_SHORT).show();
return;
}
if(mMethod==ZiJia) {
mDrivingRouteOverlay=newMyDrivingRouteOverlay(mBaiduMap);
mBaiduMap.setOnMarkerClickListener(mDrivingRouteOverlay);
DrivingRouteLine line = RouteLines().get(0);
mDrivingRouteOverlay.setData(line);
mDrivingRouteOverlay.addToMap();
List routeLines = RouteLines();
String content ="";
for(inti =0; i < routeLines.size(); i++) {
DrivingRouteLine drivingRouteLine = (i);
List allStep = AllStep();
for(intj =0; j < allStep.size(); j++) {
DrivingRouteLine.DrivingStep drivingStep = (j);
String instructions = Instructions();
if(j < allStep.size()-1) {
content += instructions +"n";
}else{
content += instructions;
}
}
}
mTvContent.clearComposingText();
mTvContent.setText(content);
mSl.setVisibility(View.VISIBLE);
setHeight();
}
}
注意:6.0的写入权限需要动态申请,不然出不来地图
BaiDuMapAPI文档地址:/
建议使用sdk里的api文档
github源码地址:
本文发布于:2024-02-05 07:55:01,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727803864719.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |