Android基于mAppWidget实现手绘地图(一)--简介
http://lemberg.github.io/mappwidget/user_guide.html
最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图。这种小范围使用的,专业的地图给人以亲切的感觉。但是他们是如何实现的呢,网上找了找实现思路,都没有太满意的。
在一家英国的网站上,发现了一个类库,可以实现类似的功能。试了一下它提供的demo,发现功能强大的超过了我的预期。在这里分享给大家,希望给大家提供一个思路吧。
翻译的有不准确的地方,请见谅。 大家先看看中文,是否满足自己的需要,省的浪费时间。
mAppWidget是一个代码库,使用它可以很方便的为android手机开发自定义地图的应用。这个类库提供了很多服务,方便android开发者集成地图到自己的项目,如示例项目和导游地图。使用mAppWidget库,可以快速的将一张图片转变成可交互的地图。
mAppWidget支持很多功能,比如缩放,平移,图层和对象。可点击的地图上的大头针,可添加注释的信息气泡使得管理地图图层和对象很简单。
该类库使用时不需要联网,不像其他的解决方案。mAppWidget使用了切片技术,可以将较小的切片拼装成较大的地图。这种方法可以节省内存,获得更快的响应速度,非常适合移动设备。
图层上的图像放大时不受地图图片分辨率的限制,对于超出最大缩放级别的图层上的图像,该类库会自动调整。
地图的生成已经提供了在线的工具,可以把一张图片切割成可供你的项目使用的地图资源。
mAppWidget功能list:
- 将任意图片转换成地图
- 切片引擎负责渲染
- 支持GPS地位
- 放大/缩小
- 支持手势缩放
- 支持双击缩放
- 摇镜头
- 惯性滚动
- 移动流畅
- 支持多地图
- animation到地图上的某点
- 添加/移除图层
- 添加/移除对象
- 点击气泡
- 支持离线展示
稍后翻译其他内容,最后上传类库和使用demo。
Android基于mAppWidget实现手绘地图(一)--简介的更多相关文章
- Android基于mAppWidget实现手绘地图(三)--环境搭建
首先,你在Eclispe开发环境中新建一个项目:然后,可以通过Eclispe项目管理工具把这个项目集成到你的app项目中.下面手册会手把手教你如何正确创建一个地图对象. 第一: 新建一个新的Anroi ...
- Android基于mAppWidget实现手绘地图(十一)–移动地图到某个坐标
你可以使用以下几个方法: MapWidget.scrollMapTo(android.location.Location location); MapWidget.scrollMapTo(androi ...
- Android基于mAppWidget实现手绘地图(十五)–如何控制放大缩小
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 1. 使用控件底部的缩放按钮 2.双击控件 3.pinch手势 4.物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行) ...
- Android基于mAppWidget实现手绘地图(十四)–在一个应用中使用多个地图
使用切图工具创建不同名称的地图资源.然后将这些资源放置到assert文件夹内. 像下面这样: 在代码中,根据不同的地图名称,查找地图. map = new MapWidget(this, " ...
- Android基于mAppWidget实现手绘地图(十三)–如何显示/隐藏任意类型的地图对象
这个很简单,想要显示或隐藏任意类型的地图对象,首先要对地图对象进行分类.不同类型的地图对象放置到不同的地图图层上,然后控制地图图层的显示/隐藏即可. 实例: Layer sportsLayer = m ...
- Android基于mAppWidget实现手绘地图(十二)–显示当前用户位置
若显示当前用户位置,你需要执行以下步骤: 1.添加ACCESS_COARSE_LOCATION 和ACCESS_FINE_LOCATION权限在AndroidManifest.xml中 2.用mapW ...
- Android基于mAppWidget实现手绘地图(七)–根据坐标添加地图对象
为了将地图对象放置到某个特殊的地理位置上,你需要: 1. 创建地图对象 2.添加地图对象到图层(任何位置) 3. 移动该地图对象,使用 MapObject.moveTo(Location locati ...
- Android基于mAppWidget实现手绘地图(六)–如何展示地图对象
为了展示选中的点,你需要完成以下步骤: 1.创建或者获得一个已经存在的图层 2.创建代表选中点的地图对象 3.把地图对象添加到图层 创建新图层 使用以下代码片段创建图层 int COFFEE_SHOP ...
- Android基于mAppWidget实现手绘地图(五)--如何创建地图资源
地图资源可以通过Slicing Tool工具生成,教程如下: 1.打开Eclipse标准版4.3.2,以Java项目形式导入”slicingtool“项目,运行.(必须是eclipse4.3.2及以上 ...
随机推荐
- <input type="file"> change事件异常处理办法
问题:最近发现一个奇怪的bug, 那就是在上传图片需要采用input type=file来进行文件选择.由于为了适应美工的UI图,所以是把选择文件的input框隐藏了.然后通过另外一个按钮的点击事件来 ...
- Android--短信
1.Android 提供一系列 API,可以是我们在自己的程序中发送和接收短信: 2.接收短信: 1)当手机接收到一条短信时,系统会发出一条值为 android.provider.Telephony. ...
- STL练习题
//hdu_2717 //map 一对多映射,基于关键字快速查找,不允许重复值 //queue 队列 先进先出 #include<iostream> #include<cstdio& ...
- Linux内核--网络栈实现分析(八)--应用层发送数据(下)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7547826 更多请查看专栏,地 ...
- 《利用Python进行数据分析》第6章学习笔记
数据加载.存储与文件格式 读写文本格式的数据 逐块读取文本文件 read_xsv参数nrows=x 要逐块读取文件,需要设置chunksize(行数),返回一个TextParser对象. 还有一个ge ...
- Java 虚拟机并发编程
chap 1. 竞争条件:不同的执行得到不同的结果.规避共享可变性(即对共享状态的修改)可避免不必要的竞争条件. chap 2. balance between 一致性.准确性和性能.过犹不及!线程数 ...
- rhel 5.8下静默安装oracle11gr2
1.图形界面下录制脚本如下: #-------------------------------------------------------------------------------# Do ...
- mono for android学习过程系列教程(6)
接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...
- 生产环境下实践DDD中的规约模式
最近的开发工作涉及到两个模块“任务”和“日周报”.关系是日周报消费任务,因为用户在写日周报的时候,需要按一定的规则筛选当前用户的任务,作为日周报的一部分提交.整个项目采用类似于Orchard那种平台加 ...
- Request中的各种方法
前言 Request中方法众多,对于Java Web程序员来说,种种方法都会在工作中常常用到.Request由于不是JDK的一部分,这些方法的用法也没有专门的API可以查,所以在工作中遇到Reques ...