Android基于mAppWidget实现手绘地图(十二)–显示当前用户位置
若显示当前用户位置,你需要执行以下步骤:
1.添加ACCESS_COARSE_LOCATION 和ACCESS_FINE_LOCATION权限在AndroidManifest.xml中
2.用mapWidget.setShowMyPosition(true)来显示当前用户的位置
得出的结果是,你应该看到地图上的位置标记:

如何改变位置指针指向的方式?
位置标记组成成分:圆圈指针、箭头指针、精确区域以及精确区域的边框。你可以改变标记的每个元素。
为了改变标记的每个元素,你需要执行以下步骤:
1.获取两张图片:圆圈指针图片round_pointer.png(
)和箭头指针图片arrow_pointer.png(
)。值得提示的箭头需要面向北,这样才能确定当前用户的方向
2. 把图片放到res/drawable文件夹中
3.使用configureLocationPointer()代码片段来改变指针外观
private void configureLocationPointer()
{
MapGraphicsConfig graphicsConfig = map.getMapGraphicsConfig(); graphicsConfig.setAccuracyAreaColor(0x55FF0000); //Transparent Red
graphicsConfig.setAccuracyAreaBorderColor(Color.RED);
graphicsConfig.setDotPointerDrawableId(R.drawable.round_pointer);
graphicsConfig.setArrowPointerDrawableId(R.drawable.arrow_pointer);
}
如果一切正常,结果如下:

如果方位信息有效,则显示箭头指针,在其他的情况下则是圆圈指针。
准确的区域显示依赖准确的GPS定位。

Android基于mAppWidget实现手绘地图(十二)–显示当前用户位置的更多相关文章
- Android基于mAppWidget实现手绘地图(二)--概要
离线地图是一张被切成类似瓷砖般格子图像组成,这些被切开的格子组织成多个缩放级别.缩放级别是从0开始.0这个缩放级别,地图图像的尺寸为1*1像素.在每下一个缩放级别,图像尺寸则会两倍递增. 每个地图都是 ...
- Android基于mAppWidget实现手绘地图(八)–获取用户地理位置
你有两种方式确定用户的当前位置: 1.使用安卓标准方式 2. 使用MapWidget的监听器 标准方式: 在你的acivity中加入: LocationManager locManager = (Lo ...
- 基于mAppWidget实现手绘地图(十五)–如何控制放大缩小
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 使用控件底部的缩放按钮 双击控件 pinch手势 物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行) 当然, ...
- Android基于mAppWidget实现手绘地图(一)--简介
http://lemberg.github.io/mappwidget/user_guide.html 最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图.这种小范围使 ...
- Android基于mAppWidget实现手绘地图(十一)–移动地图到某个坐标
你可以使用以下几个方法: MapWidget.scrollMapTo(android.location.Location location); MapWidget.scrollMapTo(androi ...
- Android基于mAppWidget实现手绘地图(十三)–如何显示/隐藏任意类型的地图对象
这个很简单,想要显示或隐藏任意类型的地图对象,首先要对地图对象进行分类.不同类型的地图对象放置到不同的地图图层上,然后控制地图图层的显示/隐藏即可. 实例: Layer sportsLayer = m ...
- Android基于mAppWidget实现手绘地图(七)–根据坐标添加地图对象
为了将地图对象放置到某个特殊的地理位置上,你需要: 1. 创建地图对象 2.添加地图对象到图层(任何位置) 3. 移动该地图对象,使用 MapObject.moveTo(Location locati ...
- Android基于mAppWidget实现手绘地图(十五)–如何控制放大缩小
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 1. 使用控件底部的缩放按钮 2.双击控件 3.pinch手势 4.物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行) ...
- Android基于mAppWidget实现手绘地图(十四)–在一个应用中使用多个地图
使用切图工具创建不同名称的地图资源.然后将这些资源放置到assert文件夹内. 像下面这样: 在代码中,根据不同的地图名称,查找地图. map = new MapWidget(this, " ...
随机推荐
- java-代理模式及动态代理
代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问.在考虑到性能或安全等因素的情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. ...
- redis持久化以及主从服务器的配置
作者:silenceper 日期:2013-10-03 原文地址:http://silenceper.com/archives/959.html redis 与memcached 最大的一个区别就是R ...
- Ubuntu NFSserver 简易安装及使用
服务器端(ip:192.168.1.100): sudo apt-get install nfs-kernel-server #安装nfs 客户端(ip:192.168.1.110): sudo ap ...
- Bootstrap CDN推荐
Bootstrap CDN推荐 本站实例采用的是百度的静态资源库(http://cdn.code.baidu.com/)上的Bootstrap资源. 百度的静态资源库的 CDN 服务,访问速度更快.加 ...
- php+redis window
http://download.csdn.net/detail/qwfy326/6572443 wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-x64
- Mac OS X 常用快捷键
- Java虚拟机4:内存溢出
堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不被回收,那么对象数量达到最大堆容量限制后就会产生内存溢出异常了.所以测试的时候把堆的大小固定住并且让堆不可扩展即可.测试代码 ...
- 以代码爱好者角度来看AMD与CMD
随着浏览器功能越来越完善,前端已经不仅仅是切图做网站,前端在某些方面已经媲美桌面应用.越来越庞大的前端项目,越来越复杂的代码,前端开发者们对于模块化的需求空前强烈.后来node出现了,跟随node出现 ...
- java算法(二)
四.最小公倍数最大公约数问题: 分析:两个数的最小公倍数等于两个数相乘再除以他们的最大公约数,因此只要求出最大公约数就可以啦. package JingDian; public class yuebe ...
- 在.net中使用aquiles访问Cassandra(三)
之前我们实现了如何修改数据,还需要相应的删除动作.删除方式会有几种情况,以下分别一一介绍. 1.批量删除,适应于多行多列的情况. public void Remove(string columnF ...