基于mAppWidget实现手绘地图(八)–获取用户地理位置

本文详细介绍了在移动应用中使用安卓标准方式和MapWidget的监听器来确定用户当前位置的技术,包括配置请求定位的时间间隔及如何处理地图对象的触摸事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  你有两种方式确定用户的当前位置:

  1.   使用安卓标准方式
  2.   使用MapWidget的监听器

  标准方式:

    使用以下代码:

LocationManager locManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME,
MIN_DISTANCE, new LocationListener() {
           
    public void onStatusChanged(String provider, int status, Bundle extras) {          
    }
           
    public void onProviderEnabled(String provider) {
    }
           
    public void onProviderDisabled(String provider) {
               
    }
           
    public void onLocationChanged(Location location) {
         // Handle location change here      
    }
});

使用MapWidget的监听器

  MapWidget使用Network location provider ,以便快速定位,或者使用GPS location provider

  下面是如何使用监听器的示例:


private void initListeners()
{
   mapWidget.setOnLocationChangedListener(new OnLocationChangedListener() {
           
       public void onLocationChanged(MapWidget v, Location location) {
           Layer layer = v.getLayerById(LAYER_ID);
           MapObject object = layer.getMapObject(OBJECT_ID);
               
           object.moveTo(location);
       }
   });
}

  当然,需要配置请求定位的时间间隔,使用以下代码片段:

private void configureMapWidget()
{
   GPSConfig gpsConfig = mapWidget.getGpsConfig();
   gpsConfig.setGPSUpdateInterval(MIN_TIME_INTERVAL, MIN_DISTANCE_IN_METERS);
}


  原文链接:http://www.67tgb.com/?p=604

  转载注明:望月听涛


  限于篇幅,就不在一一贴了,更多文章参见:

  基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件

  基于mAppWidget实现手绘地图(十)–在放大前后执行一些操作

 基于mAppWidget实现手绘地图(十一)–移动地图到某个坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值