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

  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);
}

Android基于mAppWidget实现手绘地图(八)–获取用户地理位置的更多相关文章

  1. Android基于mAppWidget实现手绘地图(一)--简介

    http://lemberg.github.io/mappwidget/user_guide.html 最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图.这种小范围使 ...

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

    你可以使用以下几个方法: MapWidget.scrollMapTo(android.location.Location location); MapWidget.scrollMapTo(androi ...

  3. Android基于mAppWidget实现手绘地图(三)--环境搭建

    首先,你在Eclispe开发环境中新建一个项目:然后,可以通过Eclispe项目管理工具把这个项目集成到你的app项目中.下面手册会手把手教你如何正确创建一个地图对象. 第一: 新建一个新的Anroi ...

  4. Android基于mAppWidget实现手绘地图(十五)–如何控制放大缩小

    一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 1. 使用控件底部的缩放按钮 2.双击控件 3.pinch手势 4.物理按键 :I键标识缩小  :O键表示放大.(只有设备具有物理按键才行) ...

  5. Android基于mAppWidget实现手绘地图(十四)–在一个应用中使用多个地图

    使用切图工具创建不同名称的地图资源.然后将这些资源放置到assert文件夹内. 像下面这样: 在代码中,根据不同的地图名称,查找地图. map = new MapWidget(this, " ...

  6. Android基于mAppWidget实现手绘地图(十三)–如何显示/隐藏任意类型的地图对象

    这个很简单,想要显示或隐藏任意类型的地图对象,首先要对地图对象进行分类.不同类型的地图对象放置到不同的地图图层上,然后控制地图图层的显示/隐藏即可. 实例: Layer sportsLayer = m ...

  7. Android基于mAppWidget实现手绘地图(十二)–显示当前用户位置

    若显示当前用户位置,你需要执行以下步骤: 1.添加ACCESS_COARSE_LOCATION 和ACCESS_FINE_LOCATION权限在AndroidManifest.xml中 2.用mapW ...

  8. Android基于mAppWidget实现手绘地图(七)–根据坐标添加地图对象

    为了将地图对象放置到某个特殊的地理位置上,你需要: 1. 创建地图对象 2.添加地图对象到图层(任何位置) 3. 移动该地图对象,使用 MapObject.moveTo(Location locati ...

  9. Android基于mAppWidget实现手绘地图(六)–如何展示地图对象

    为了展示选中的点,你需要完成以下步骤: 1.创建或者获得一个已经存在的图层 2.创建代表选中点的地图对象 3.把地图对象添加到图层 创建新图层 使用以下代码片段创建图层 int COFFEE_SHOP ...

随机推荐

  1. PHP项目感悟 -- 从CI框架来看iOS的MVC

    其实这几天一直都想找时间把这个感悟整理出来,也是这一段一直思考的问题,因为这一段参加一个PHP后台项目的开发,框架使用的是CI,随着项目的进展,对于CI接触的也越多,但是由于理解的可能并不深刻,我也只 ...

  2. MFC学习随笔(1)

    最近在学习用MFC编写一个简单的界面.其实MFC并不是十分复杂的,经过一段时间的熟悉就可以实现许多基础功能.但是在编写的过程中,经常会遇到林林总总的bug,让人摸不到头脑.今天记录一个过去没有注意过的 ...

  3. Java的UUID

    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OS ...

  4. OSD磁盘日常监控

    摘要:对ceph OSD磁盘,做好定期的性能数据采集和通电时长管理,长期的数据积累对磁盘的性能与生命周期管理会有一定帮助,同时也能确保整个集群性能的稳定. 磁盘碎片管理 查看磁盘碎片 # xfs_db ...

  5. sql 优化 链接提示 查询提示 标提示

    SQL Server的查询优化器在select查询执行的时候产生一个高效的查询执行计划.如果优化器不能选择最优的计划,那么就需要检查查询计划.统计信息.支持的索引等,而通过使用提示可以改变优化器选择查 ...

  6. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  7. [Asp.net 开发系列之SignalR篇]专题五:SignalR支持的平台

    SignalR支持多种服务器和客户端配置.此外,每种传输方式都有自身的要求限制:如果某种传输方式不被系统支持,SignalR能够优雅地将故障转移到其他类型的传输方式.关于SignalR所支持的传输方式 ...

  8. iOS——自定义Segue实现总结

    在阅读了iOS 8自定义动画转场上手指南后,刚开始不理解,后来慢慢消化了,现在总结如下: 1. 自定义Segue关键在于继承UIStoryboardSegue并重写perform方法 2. 动画可以在 ...

  9. Asp.net MVC 中Ajax的使用 [分享]

    文章转自 http://www.huiyoumi.wang/upload/forum.php?mod=viewthread&tid=75&extra= Asp.net MVC 抛弃了A ...

  10. PHPer书单

    想提升自己,还得多看书!多看书!多看书! 下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完.共勉吧! Github地址:https://github.com/52fhy/ph ...