Android基于mAppWidget实现手绘地图(八)–获取用户地理位置
2024-08-27 22:01:44
你有两种方式确定用户的当前位置:
1.使用安卓标准方式
2. 使用MapWidget的监听器
标准方式:
在你的acivity中加入:
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);
}
最新文章
- 在Ubuntu下搭建ASP.NET 5开发环境
- bzoj2064[和谐社会模拟赛]分裂
- UVA 101
- LeetCode:Maximum Depth of Binary Tree_104
- CentOS7 登陆密码遗忘和修改
- 修改Tomcat服务器的默认端口号
- WDS 的两种实现方式
- 构建可比较的对象(IComparable)
- Building bridges_hdu_4584(排序).java
- 给兄弟说下如何处理Debian下常见的apache2的几个问题
- gravitas是什么意思_gravitas在线翻译_英语_读音_用法_例句_海词词典
- o(n)线性排序算法
- How To Configure VMware fencing using fence_vmware_soap in RHEL High Availability Add On(RHEL Pacemaker中配置STONITH)
- layer,Jquery,validate实现表单验证,刷新页面,关闭子页面
- STM32 - GPIO
- Android传感器概述-android学习之旅(七)
- 死磕 java集合之CopyOnWriteArraySet源码分析——内含巧妙设计
- CentOS7+CDH5.14.0安装CDH错误排查:HBase服务出现 该运行状况测试不良,因为 Service Monitor 未找到活动 Master
- Storm工作流程
- [kafka] 001_kafka起步