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及以上 ...
随机推荐
- IIS部署ASP.NET常见错误
今天本地 IIS部署一个.NET Framework 3.5 项目,首先出现一个错误: 静态机制没有办法处理脚本 检查MIME没有问题,检查应用程序池版本,2.0, 果断改成 4.0. 运行之后新错误 ...
- Python list嵌套 三维数组
cores_multicast = [[] for i in xrange(64)] temp_list = [0, 1] temp_list2 = [0, 3] cores_multicast[0] ...
- iOS 删除已经配置的类库和移除CocoaPods
引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些 ...
- 快速学习C语言四: 造轮子,ArrayList
高级语言里的列表是最常用的数据结构,在C里造个轮子玩玩,C没有泛型,先用int练习. Collection的ADT一般有hasnext,next,add, remove操作,List一般还加了remo ...
- 用javascript写Android和iOS naitve应用,实在炫酷。
关注NativeScript有一段时间了,说好了的三月发第一个Beta版,终于发布了. // declare the extended NativeScriptActivity functionali ...
- Apache HTTP Server 2.2.26 发布
Apache遗留产品线2.2.26发布.2013-11-13 之前的版本是2013-07-02的2.2.25 同样先在开发目录下放出下载,然后放到正式目录下.修正了大量的Bug.目前的稳定版2.4系列 ...
- Jexus V5.8.0正式发布:跨平台的ASP.NET WEB服务器
Jexus Web Server V5.8.0 已于今日(12月10日)正式发布,下载地址:http://www.linuxdot.net/. Jexus v5.8.0有如下的更新: 1,为反向代理增 ...
- 从为什么String=String谈到StringBuilder和StringBuffer
前言 有这么一段代码: public class TestMain { public static void main(String[] args) { String str0 = "123 ...
- 何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发
前一天准备下载VS2015预览版,到VisualStudio官网一看,发现微软发布了VisualStudio2013的插件——Visual Studio Tools for Apache Cordov ...
- [ZigBee] 7、ZigBee之UART剖析(ONLY串口发送)
综述:USART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或者同步SPI 模式.两个USART具有同样的功能,可以设置在单独的I/O 引脚. 1.UART 模式 UART 模式 ...