博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记
阅读量:7169 次
发布时间:2019-06-29

本文共 3378 字,大约阅读时间需要 11 分钟。

前几天又下载了新的百度地图sdk,3.5版本号。发现百度地图api有了较大变化

定位和3.0版本号差点儿相同

可是设置地图中心和加入maker标记有较大变化

设置地图中心点

// 定义地图状态zoom表示缩放级别3-18

MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定义MapStatusUpdate对象。以便描写叙述地图状态将要发生的变化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改变地图状态
// 开启定位图层
mMapView.getMap().setMapStatus(mMapStatusUpdate);

加入maker标记

// 定义Maker坐标点

// 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 构建MarkerOption,用于在地图上加入Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地图上加入Marker,并显示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();

完整代码例如以下

public class MapActivity extends BaseActivity {

MapView mMapView;
public LocationClient mLocationClient = null;
public BDLocationListener myListener = new MyLocationListener();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_mapview);
mMapView = (MapView) findViewById(R.id.bmapView);
mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
mLocationClient.registerLocationListener(myListener); // 注冊监听函数
mLocationClient.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在activity运行onDestroy时运行mMapView.onDestroy()。实现地图生命周期管理
mMapView.onDestroy();
mLocationClient.stop();
}
@Override
protected void onResume() {
super.onResume();
// 在activity运行onResume时运行mMapView. onResume ()。实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
// 在activity运行onPause时运行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
public class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
if (location == null)
return;
StringBuffer sb = new StringBuffer(256);
sb.append("time : ");
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 : ");
sb.append(location.getSpeed());
sb.append("\nsatellite : ");
sb.append(location.getSatelliteNumber());
} else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
sb.append("\naddr : ");
sb.append(location.getAddrStr());
}
System.out.println("" + sb.toString());
LatLng cenpt = new LatLng(location.getLatitude(),
location.getLongitude());
// 定义地图状态zoom表示缩放级别3-18
MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定义MapStatusUpdate对象,以便描写叙述地图状态将要发生的变化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改变地图状态
// 开启定位图层
mMapView.getMap().setMapStatus(mMapStatusUpdate);
// 定义Maker坐标点
// 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 构建MarkerOption。用于在地图上加入Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地图上加入Marker,并显示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();
}
}
}

转载地址:http://jvmwm.baihongyu.com/

你可能感兴趣的文章
log4j配置详解
查看>>
我的友情链接
查看>>
面试100题之8
查看>>
一些以太网非核心功能的标准
查看>>
oracle EBS 克隆之数据库克隆
查看>>
【python2】commands模块getstatusoutput函数的小问题
查看>>
oracle常用sql
查看>>
iOS之隐藏状态栏
查看>>
Script:ASM修复脚本,寻找LISTHEAD和Kfed源数据
查看>>
mysql ERROR 1045 (28000): Access denied for user解决方法
查看>>
locale::facet::_S_create_c_locale name not valid
查看>>
shell 中的常用技巧
查看>>
25个增强iOS应用程序性能的提示和技巧--中级篇
查看>>
java反射机制
查看>>
Quartz结合SPRING多任务定时调用
查看>>
Twitter的API使用方法
查看>>
inotify实时监控程序安装
查看>>
关于springmvc中DispatcherServlet问题
查看>>
Pentaho6.1 CCC/CDE tool 的Extension points属性详解
查看>>
jdk、tomcat的安装
查看>>