地图定位
2015-11-28 10:20
330 查看
package com.bwei.test; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationListener; import com.amap.api.location.LocationManagerProxy; import com.amap.api.location.LocationProviderProxy; import com.amap.api.maps.AMap; import com.amap.api.maps.LocationSource; import com.amap.api.maps.MapView; import android.app.Activity; import android.location.Location; import android.os.Bundle; import android.widget.Toast; public class PersonActivity extends Activity implements LocationSource,AMapLocationListener{ private MapView mapView; private AMap aMap; private OnLocationChangedListener mListener; private LocationManagerProxy mAMapLocationManager; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_person); mapView = (MapView)findViewById(R.id.map); mapView.onCreate(savedInstanceState); init(); } private void init() { // TODO Auto-generated method stub if(aMap == null){ aMap = mapView.getMap(); setUpMap(); } } private void setUpMap() { // TODO Auto-generated method stub aMap.setLocationSource(this); aMap.getUiSettings().setMyLocationButtonEnabled(true); aMap.setMyLocationEnabled(true); aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); mapView.onDestroy(); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); mapView.onPause(); deactivate(); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); mapView.onResume(); } @Override protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState); } @Override public void onLocationChanged(Location arg0) { // TODO Auto-generated method stub } @Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } @Override public void onLocationChanged(AMapLocation arg0) { // TODO Auto-generated method stub if(mListener != null&&arg0 != null){ if (arg0.getAMapException().getErrorCode() == 0) { mListener.onLocationChanged(arg0);// 显示系统小蓝点 } } double latitude = arg0.getLatitude(); double longitude = arg0.getLongitude(); Toast.makeText(this, "纬度"+latitude+"经度"+longitude, 0).show(); } @Override public void activate(OnLocationChangedListener arg0) { // TODO Auto-generated method stub mListener = arg0; if (mAMapLocationManager == null) { mAMapLocationManager = LocationManagerProxy.getInstance(this); //此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗, //注意设置合适的定位时间的间隔,并且在合适时间调用removeUpdates()方法来取消定位请求 //在定位结束后,在合适的生命周期调用destroy()方法 //其中如果间隔时间为-1,则定位只定一次 mAMapLocationManager.requestLocationData( LocationProviderProxy.AMapNetwork, 60*1000, 10, this); } } @Override public void deactivate() { // TODO Auto-generated method stub mListener = null; if (mAMapLocationManager != null) { mAMapLocationManager.removeUpdates(this); mAMapLocationManager.destroy(); } mAMapLocationManager = null; } }
相关文章推荐
- 最长单调子序列问题
- 130 In your production database, users report that they are unable to generate reports on an importa
- iOS 视图控制器(ViewController)中的代码规范
- SPI 调试遇到的一个问题
- 三方登录
- php在apache中运行模式
- 基于Nodejs+express4+Mongodb+Angularjs建立web项目
- J2EE Specification level指的是什么和J2EE规范讲解
- HTML5后台管理模板
- 完全卸载oracle步骤
- ios 常见问题总结
- Linux驱动开发笔记总结(一)
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计