凯立德导航

1.需要在application里面注册sdk

   CldMap.NaviInitListener mInitListener = new CldMap.NaviInitListener() {


@Override
public void initFailed(String s) {

}

@Override
public void initSuccess() {

}

@Override
public void initStart() {

}

@Override
public void onAuthResult(int status, String msg) {
String str;
if (0 == status) {
str = "key 校验成功!";
} else {
str = "key 校验失败!";
}
// Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
}
};
CldNaviManager.getInstance().init(this, mInitListener);
// 开启gps混合定位
location(LocationMode.MIXED, 0);
/**
* 定位
*
* @param locationMode
* 定位类型 参考类LocationMode
* @param spanMs
* 定位频率 单位毫秒
* @return void
* @author Huagx
* @date 2016-1-28 上午9:11:40
*/
private void location(int locationMode, int spanMs) {
if (null == locationManager) {
locationManager = new CldLocationClient(this);
}
// 如果已开启定位,先停掉
if (locationManager.isStarted()) {
locationManager.stop();
}
// 设置定位选项
CldLocationOption option = new CldLocationOption();
option.setLocationMode(locationMode);// 设置定位模式
option.setNetworkScanSpan(spanMs);// 定位扫描时间
locationManager.setLocOption(option);
locationManager.registerLocationListener(new ICldLocationListener() {

@Override
public void onReceiveLocation(CldLocation location) {
if (null != location) {
double altitude = location.getAltitude();
latitude = location.getLatitude();
longitude = location.getLongitude();
float accuracy = location.getAccuracy();
float bearing = location.getBearing();
float speed = location.getSpeed();
long time = location.getTime();
addr = location.getAddress();
String adCode = location.getAdCode();
dist = location.getDistrict();
city = location.getCity();
String cityCode = location.getCityCode();
province = location.getProvince();
String locInfo = "lat:" + latitude + ",lon:" + longitude
+ "alt:" + altitude + ",acc:" + accuracy + ",bear:"
+ bearing + ",spd:" + speed + ",time:" + time
+ ",provice:" + province + "city:" + city
+ ",code:" + cityCode + ",dist:" + dist + ",addr:"
+ addr + ",adcode:" + adCode;
Log.i("location", locInfo);

}
}
});
locationManager.start();
}
2.添加地图
<com.cld.mapapi.map.MapView
/>
3.onCreate方法里面
bmapView.showZoomControls(false);//去掉中心点图标
mBaidumap = bmapView.getMap();
mBaidumap.setLocationIconEnabled(false);
3.地图上插点
mBaidumap.addOverlay(new MarkerOptions()
.position(new LatLng(Double.parseDouble(lat.getLat()), Double.parseDouble(lat.getLng()))).icon(
getResources().getDrawable(R.drawable.carmarker))
.rotate(0).alpha(0.8f));
4.缩放地图使地图上的点显示在视野范围中
private List<LatLng> latlngs=new ArrayList<>();//坐标集合

latlngs.add(lng1);
latlngs.add(lng2);
mBaidumap.zoomToSpan(latlngs);//缩放到合适比例,将传入的点坐标都显示出来
5.路径规划
startCalcRoute(Double.parseDouble(lat.getLng()), Double.parseDouble(lat.getLat()), longi2, lat2, longi1, lat1);
6.调启货运导航
LatLng st = new LatLng(startLat, endLat);
LatLng en = new LatLng(lat2, longi2);
startHYNavi(st, en);
/**
* 调起货运导航
*
* @return void
* @author Zhouls
* @date Sep 12, 2016 5:09:00 PM
*/
private void startHYNavi(LatLng pt1, LatLng pt2) {


// 构建 导航参数
NaviHYParaOption para = new NaviHYParaOption()
// 设置起点坐标
.startPoint(pt1)
// 设置终点坐标
.endPoint(pt2);

// // 车长,单位(米)(不设置或者设置为0 都不限)
// .length(4.0f)
// // 车宽,单位(米) (不设置或者设置为0 都不限)
// .width(3.2f)
// // 车高,单位(米) (不设置或者设置为0 都不限)
// .height(3.5f)
// // 车重,单位(吨) (不设置或者设置为0 都不限)
// .weight(5.2f)
// // 车牌
// .no("湘L4A929");
// 调用调起导航方法
CldMapNavigation.openCldHYMapNavi(para, this);
}
 

转载于:https://www.cnblogs.com/wangyuehong/p/8202864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值