300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android百度地图定位自定义图标 百度地图SDK集成及根据坐标实现定位(android studio开发)...

android百度地图定位自定义图标 百度地图SDK集成及根据坐标实现定位(android studio开发)...

时间:2022-03-09 21:04:38

相关推荐

android百度地图定位自定义图标 百度地图SDK集成及根据坐标实现定位(android studio开发)...

百度地图SDK集成及根据坐标实现定位(android studio开发)

百度地图SDK集成及根据坐标实现定位(android studio开发)

1.下载百度地图SDK

链接:/index.php?title=androidsdk

根据自己需求下载SDK

2.集成步骤:

1.ak密钥获取参考百度官网:/index.php?title=androidsdk/guide/create-project/ak

2.android studio配置参考:/index.php?title=androidsdk/guide/create-project/androidstudio

3.配置AndroidMainfest.xml文件配置可参考:/index.php?title=androidsdk/guide/create-project/hellomap

将以下权限拷贝到AndroidMainfest.xml文件中:

在application中添加密钥:value填写获取的key(进入百度控制台)

build.gradle里面需要指定so文件的路径sourceSets{

main{

jniLibs.srcDir 'libs'//说明so的路径为该libs路径,关联所有地图SDK的so文件}

}

4.在application中进行初化:

代码:SDKInitializer.initialize(getApplicationContext());

3.实现定位功能:

在xml文件中添加控件:

java文件中代码:

/***定位SDK监听函数*/public classMyLocationListenner implementsBDLocationListener {

@Overridepublic voidonReceiveLocation(BDLocation location) {

// map view销毁后不在处理新接收的位置if(location == null|| mMapView== null) {

return;}

mCurrentLat= location.getLatitude();mCurrentLon= location.getLongitude();mCurrentAccracy= location.getRadius();locData= newMyLocationData.Builder()

.accuracy(location.getRadius())

//此处设置开发者获取到的方向信息,顺时针0-360.direction(mCurrentDirection).latitude(location.getLatitude())

.longitude(location.getLongitude()).build();mBaiduMap.setMyLocationData(locData);if(isFirstLoc) {

isFirstLoc= false;LatLng ll = newLatLng(location.getLatitude(),location.getLongitude());MapStatus.Builder builder = newMapStatus.Builder();builder.target(ll).zoom(18.0f);mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));}

}

public voidonReceivePoi(BDLocation poiLocation) {

}

}mSensorManager= (SensorManager) getSystemService(SENSOR_SERVICE);//获取传感器管理服务mCurrentMode= LocationMode.NORMAL;//地图显示模式:普通mCurrentMarker= null;//null为默认mCurrentMarker= BitmapDescriptorFactory.fromResource(R.drawable.icon_geo);//自定义显示定位图标accuracyCircleFillColor= 0xAAFFFF88;accuracyCircleStrokeColor= 0xAA00FF00;//地图初始化mMapView= (MapView) findViewById(R.id.bmapView);mBaiduMap= mMapView.getMap();//开启定位图层mBaiduMap.setMyLocationEnabled(true);//定位初始化mLocClient= newLocationClient(this);mLocClient.registerLocationListener(myListener);LocationClientOption option = newLocationClientOption();option.setOpenGps(true);//打开gpsoption.setCoorType("bd09ll");//设置坐标类型option.setScanSpan(1000);mLocClient.setLocOption(option);mLocClient.start();

以上代码可实现通过网络或者gps进行自动定位

4.根据所给百度地图坐标实现定位

测试坐标搜索链接:/maps.htm

例:

java中的代码:

直接传入纬度和经度即可

public voidUpDate(doublecurrentlat, doublecurrentlon) {

locData= newMyLocationData.Builder()

.accuracy(188.0f)

//此处设置开发者获取到的方向信息,顺时针0-360.direction(mCurrentDirection).latitude(currentlat)

.longitude(currentlon).build();mBaiduMap.setMyLocationData(locData);LatLng ll = newLatLng(currentlat,currentlon);MapStatus.Builder builder = newMapStatus.Builder();builder.target(ll).zoom(18.0f);mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));}源码

百度地图SDK集成及根据坐标实现定位(android studio开发)相关教程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。