gpsclient 汽车导航地图怎么更新地图

客户端简易操作说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
客户端简易操作说明
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢百度地图 百度定位

注:一些源码出自百度官网Demo
1)说点废话:
从拿到地图定位这个需求的时候,我还算淡定,因为基于地图的资料太多了,不管是文字的还是视频,随便一百度就一大堆,但是那些都是基于的。现在已经不提供版本的了,因此,直接跳过使用。至于的怎么注册申请都不说,因为是需要服务的,我尝试了很多次,那个软件怎么都登陆不上,据说是咱国家把给墙了,而且获取一些开发资料的时候也需要翻墙,废了老劲了,最后就是程序没法跑,没办法只能用百度的地图定位,可能是我才疏学浅,有能弄好的大神,还望来喷啊。
2)准备工作:
首先在官网上下载对应的包和引擎,
这里需要注意两点:
1.如果是开发单独的应用,比如只需要地图或是只需要定位,两者不结合,直接下载对应的包就行了。
2.如果是两个功能结合使用,需要在百度地图上进行定位,就需要这两个包
其目录结构如下:
这里并不是将第一点里的两个包整到工程里,那样的话回报一个两个证书的错误:
Error&generating&final&archive:&Found&duplicate&file&for&APK:&assets/sapi_cert.cer
Origin1:D:\BaiduMapTest_2\libs\BaiduLBS_Android.jar
Origin2:&D:\BaiduMapTest_2\libs\baidumapapi_v3_1_0.jar
这一点是比较坑爹的,居然没人说,而且在Demo里面是用的老版本的定位……这些包官网上还都是有的,懒得找的话直接把包名直接百度就行了。
没有接触过得同学们,我还是建议大家一个一个的来,首先把HelloMap的工程弄好,我觉得那个官方的文档最开始的那篇写的还是不错的。
接下来就是把定位的那个程序弄好,就是接收到位置,输出一堆的那个。代码如下图:
Hello&Map:
代码部分就这么一段就行,关键是Manifest文件,官方文档上写的一样都不能丢,尤其是权限,这里就不再细说代码怎么写了,注意两点细节:
1.申请Key的时候,包名是和Manifest文件最上面有个PackageName属性,要和那里面的值一只,否则调试程序的时候会有permission&denied错误,不能显示地图,只能显示灰色小格。
2.权限问题,百度官方说的需要那么多权限,就复制过去好了,回来再一个个研究。
BaiduLocation:
这个程序的代码我没有粘全,官网上都有的,不细说,还是细节问题:
1.定位需要在manifest文件里声明定位服务,否则会出现onReceiveLocation方法不回调的现象
2.权限问题,还是像上面的把需要的权限复制过去就行了,Demo里都有的
3.在调试的时候虚拟机默认是没有SDCard的,这时这个程序的errorCode会返回167
就是没有SD卡所致,建议真机调试下,正常的是161(网络定位),没记错的话还有个GPS定位的代码,好像是两位,官网上有不记得了……
定位+地图
这里注意定位和地图所需要的权限是不一样的,有交叉的部分,这里需要注意:
剩下的就是添加overLay了,代码如下,写的很不好,测试用的有一些没用,时间紧没整理,见谅啊……
private&LocationClient&mLocationClient&=&null;
private&MapView&mMapView&=&null;
private&BaiduMap&mBaiduMap&=&null;
private&BitmapDescriptor&bitmap&=&null;
private&LatLng&point&=&null;
private&OverlayOptions&option&=&null;
private&TextView&content&=&null;
private&boolean&isFirstLoc&=&true;
private&double&lontitude&=&116.404;//&初始值指向天安门
private&double&latitude&=&39.915;
protected&void&onCreate(Bundle&savedInstanceState)&{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
content&=&(TextView)&findViewById(R.id.content);
content.setText(&lontitude&&+&lontitude&+&&latitude&&+&latitude);
mMapView&=&(MapView)&findViewById(R.id.bmapView);
mMapView.refreshDrawableState();
mBaiduMap&=&mMapView.getMap();
LocationClientOption&clientOption&=&new&LocationClientOption();
clientOption.setLocationMode(LocationMode.Hight_Accuracy);
clientOption.setOpenGps(true);&//&打开gps
clientOption.setCoorType(&bd09ll&);&//&设置坐标类型为bd09ll
clientOption.setScanSpan(3000);&//&定时定位,每隔5秒钟定位一次。
mLocationClient&=&new&LocationClient(getApplicationContext());&//&声明LocationClient类
mLocationClient.setLocOption(clientOption);
mLocationClient.registerLocationListener(new&BDLocationListener()&{
public&void&onReceiveLocation(BDLocation&location)&{
StringBuffer&sb&=&new&StringBuffer(256);
sb.append(&\ntime&:&&);
sb.append(location.getTime());
sb.append(&\nerror&code&:&&);
sb.append(location.getLocType());
sb.append(&\nlatitude&:&&);
sb.append(location.getLatitude());
sb.append(&\nlontitude&:&&);
sb.append(location.getLongitude());
sb.append(&\nradius&:&&);
sb.append(location.getRadius());
if&(location.getLocType()&==&BDLocation.TypeGpsLocation){
sb.append(&\nspeed&:&&);
b.append(location.getSpeed());
sb.append(&\nsatellite&:&&);
sb.append(location.getSatelliteNumber());
sb.append(&\ndirection&:&&);
sb.append(&\naddr&:&&);
sb.append(location.getAddrStr());
sb.append(location.getDirection());
}&else&if&(location.getLocType()&==&BDLocation.TypeNetWorkLocation)&
sb.append(&\naddr&:&&);
sb.append(location.getAddrStr());
//&运营商信息
sb.append(&\noperationers&:&&);
sb.append(location.getOperators());
content.setText(sb.toString());
//&map&view&销毁后不在处理新接收的位置
if&(location&==&null&||&mMapView&==&null)
MyLocationData&locData&=&new&MyLocationData.Builder()
.latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if&(isFirstLoc)&{
isFirstLoc&=&false;
LatLng&ll&=&new&LatLng(location.getLatitude(),
location.getLongitude());
MapStatusUpdate&u&=&MapStatusUpdateFactory.newLatLng(ll);
mBaiduMap.animateMapStatus(u);
mBaiduMap.clear();
mBaiduMap.addOverlay(new&
MarkerOptions().position(ll).icon(bitmap));
//&定义Maker坐标点
point&=&new&LatLng(latitude,&lontitude);
//&构建Marker图标
bitmap=BitmapDescriptorFactory.fromResource(R.drawable.jiantou);
//&构建MarkerOption,用于在地图上添加Marker
option&=&new&MarkerOptions().position(point).icon(bitmap);
//&在地图上添加Marker,并显示
mBaiduMap.addOverlay(option);
mLocationClient.start();
if&(mLocationClient&!=&null&&&&mLocationClient.isStarted())
mLocationClient.requestLocation();
Log.d(&LocSDK3&,&&locClient&is&null&or&not&started&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:53次
排名:千里之外GPS监控客户端绿色版操作说明书2.0_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
GPS监控客户端绿色版操作说明书2.0
上传于||文档简介
&&GPS监控软件说明
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 车载地图怎么更新 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信