百度地图android版 自我定位实现
2012-08-15 10:31
375 查看
package com.example.mybaidumaptest; import android.location.Location; import android.os.Bundle; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.GeoPoint; import com.baidu.mapapi.LocationListener; import com.baidu.mapapi.MapActivity; import com.baidu.mapapi.MapView; import com.baidu.mapapi.MyLocationOverlay; public class LocationActivity extends MapActivity { private MapView locationMapView = null; MyLocationOverlay myLocationOverlay = null; LocationListener locationListener = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); BMapManager mapManager = new BMapManager(getApplication()); //填写key值 mapManager.init("填自己的KEY值", null); mapManager.start(); // 如果使用地图SDK,请初始化地图Activity super.initMapActivity(mapManager); locationMapView = (MapView) findViewById(R.id.locationMapView); locationMapView.setBuiltInZoomControls(true); locationMapView.setDrawOverlayWhenZooming(true);// 设置在缩放动画过程中也显示overlay,默认为不绘制 locationMapView.getController().setZoom(15); // 画图层 myLocationOverlay = new MyLocationOverlay(this,locationMapView); locationMapView.getOverlays().add(myLocationOverlay); locationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { if (location != null) { GeoPoint point = new GeoPoint( (int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6)); locationMapView.getController().animateTo(point); } } }; } @Override protected boolean isRouteDisplayed() { return false; } /* onPause onResume必须要写 不然地图无法定位正确 开发文档对定位类的解释 public class MyLocationOverlay extends Overlay implements LocationListener, Overlay.Snappable 一个负责显示用户当前位置的Overlay。 Overlay是一个覆盖,它绘制用户当前在地图上的位置(精准度),或一个嵌入的指南针。子类能覆盖方法dispatchTap()去处理对当前位置的点击。 为了开启这个overlay的功能,需要去调用enableMyLocation()和/或enableCompass(), 或调用Activity中的Activity.onResume()方法。记住,当在后台是,要在Activity中的Activity.onPause()方法中调用 相应的disableMyLocation()和/或disableCompass()关闭这个功能。 */ @Override protected void onPause() { BMapManager bm = new BMapManager(getApplication()); bm.getLocationManager().removeUpdates(locationListener); myLocationOverlay.disableCompass(); myLocationOverlay.disableMyLocation(); bm.stop(); super.onPause(); } @Override protected void onResume() { BMapManager bm = new BMapManager(getBaseContext()); bm.getLocationManager().requestLocationUpdates(locationListener); myLocationOverlay.enableCompass(); myLocationOverlay.enableMyLocation(); bm.start(); super.onResume(); } }
相关文章推荐
- Android 集成百度地图实现设备定位
- Android之3.5版的百度地图的定位、覆盖物实现以及覆盖物的点击事件
- android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)
- Android实现百度地图定位(墨雪亲测)
- 基于百度地图 Android SDKv1.3.5实现简单的定位功能,自定义标题栏
- Android调用百度地图Web端接口,实现百度定位、导航
- Android--百度地图定位功能的具体实现<百度地图SDK版本 v3.7.3>
- Android调用百度地图Web端接口,实现百度定位、导航
- Android百度地图定位后获取周边位置的实现代码
- 百度地图植入android应用系列教程二实现百度地图定位及方向传感器
- 基于百度地图 Android SDKv1.3.5实现简单的定位功能,自定义标题栏
- Android中级篇之基于百度地图Android SDK v3.4.0开发实现定位
- Android集成百度地图接口,实现定位+路径规划。新手教程
- android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)
- Android简单实现百度地图显示及定位
- (转)Android百度地图之位置定位和附近查找代码简单实现 (上)
- Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡
- Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡
- Android调用百度地图app , 实现百度定位、导航
- 基于Android实现百度地图定位过程详解