高德地图

1,在高德地图注册

高德地图_第1张图片



2,导入jar


3,写代码
//activity执行onCreate时执行mMapView.onCreate(savedInstanceState),实现地图生命周期管理
mMapView.onCreate(savedInstanceState);
AMap aMap = mMapView.getMap();

//------------------------------------------
   //------------开始设置定位监听------------------------------
   //------------------------------------------

   mlocationClient = new AMapLocationClient(this);
   //初始化定位参数
   mLocationOption = new AMapLocationClientOption();
   //设置定位监听
   mlocationClient.setLocationListener(this);
   Log.v("location","设置了监听");
   //设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
   mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
   //设置定位间隔,单位毫秒,默认为2000ms
   mLocationOption.setInterval(2000);
   //设置是否返回地址信息(默认返回地址信息)
   mLocationOption.setNeedAddress(true);
   //设置定位参数
   mlocationClient.setLocationOption(mLocationOption);
   // 此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
   // 注意设置合适的定位时间的间隔(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求
   // 在定位结束后,在合适的生命周期调用onDestroy()方法
   // 在单次定位情况下,定位无论成功与否,都无需调用stopLocation()方法移除请求,定位sdk内部会移除
   //启动定位
   mlocationClient.startLocation();

@Override
public void onLocationChanged(AMapLocation amapLocation) {
   if (amapLocation != null) {
      Log.v("location","进入amapLocation != null");
      if (amapLocation.getErrorCode() == 0) {
         //定位成功回调信息,设置相关消息
         amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
         double latitude = amapLocation.getLatitude();//获取纬度
         Log.v("location","维度"+latitude);
         double longitude = amapLocation.getLongitude();//获取经度
         Log.v("location","精度"+longitude);
         float accuracy = amapLocation.getAccuracy();//获取精度信息
         Log.v("location","精度信息"+accuracy);
         String city = amapLocation.getCity();
         Log.v("location","城市"+city);
         String street = amapLocation.getStreet();//街道信息
         Log.v("location","街道"+street);
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date = new Date(amapLocation.getTime());
         df.format(date);//定位时间
      } else {
         //显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
         Log.e("AmapError", "location Error, ErrCode:"
               + amapLocation.getErrorCode() + ", errInfo:"
               + amapLocation.getErrorInfo());
      }
   }

你可能感兴趣的:(地图,高德地图)