http://lemberg.github.io/mappwidget/user_guide.html

  最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图。这种小范围使用的,专业的地图给人以亲切的感觉。但是他们是如何实现的呢,网上找了找实现思路,都没有太满意的。

  在一家英国的网站上,发现了一个类库,可以实现类似的功能。试了一下它提供的demo,发现功能强大的超过了我的预期。在这里分享给大家,希望给大家提供一个思路吧。

   翻译的有不准确的地方,请见谅。 大家先看看中文,是否满足自己的需要,省的浪费时间。

  mAppWidget是一个代码库,使用它可以很方便的为android手机开发自定义地图的应用。这个类库提供了很多服务,方便android开发者集成地图到自己的项目,如示例项目和导游地图。使用mAppWidget库,可以快速的将一张图片转变成可交互的地图。

  mAppWidget支持很多功能,比如缩放,平移,图层和对象。可点击的地图上的大头针,可添加注释的信息气泡使得管理地图图层和对象很简单。

  该类库使用时不需要联网,不像其他的解决方案。mAppWidget使用了切片技术,可以将较小的切片拼装成较大的地图。这种方法可以节省内存,获得更快的响应速度,非常适合移动设备。

  图层上的图像放大时不受地图图片分辨率的限制,对于超出最大缩放级别的图层上的图像,该类库会自动调整。

    地图的生成已经提供了在线的工具,可以把一张图片切割成可供你的项目使用的地图资源。

  mAppWidget功能list:

  1. 将任意图片转换成地图
  2. 切片引擎负责渲染
  3. 支持GPS地位
  4. 放大/缩小
  5. 支持手势缩放
  6. 支持双击缩放
  7. 摇镜头
  8. 惯性滚动
  9. 移动流畅
  10. 支持多地图
  11. animation到地图上的某点
  12. 添加/移除图层
  13. 添加/移除对象
  14. 点击气泡
  15. 支持离线展示

稍后翻译其他内容,最后上传类库和使用demo。

Android基于mAppWidget实现手绘地图(一)--简介的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. Android基于mAppWidget实现手绘地图(五)--如何创建地图资源

    地图资源可以通过Slicing Tool工具生成,教程如下: 1.打开Eclipse标准版4.3.2,以Java项目形式导入”slicingtool“项目,运行.(必须是eclipse4.3.2及以上 ...

随机推荐

  1. springmvc和struts2的差别

    springmvc和struts2的区别相关内容   1.spring mvc的入口是servlet,而struts2是filter filter功能:用户可以改变一个request和修改一个resp ...

  2. IOS 通过苹果开放API检测更新

    #define APPID @"1067207206" -(void)onCheckVersion { NSDictionary *infoDic = [[NSBundle mai ...

  3. WCF Failed to invoke the service. Possible causes: The service is offline or inaccessible

    今天写WCf 时遇到如下报错: 调试过程发现,各个过程都无异常,但是返回给调用端数据时出现如下错误. Failed to invoke the service. Possible causes: Th ...

  4. Javascript图表插件HighCharts用法案例

    最近还在忙着基于ABP的项目,但本篇博客和ABP无关,喜欢ABP框架的朋友请点击传送门. 这不,最近项目基本功能做的差不多了,现在在做一个数据统计的功能,需要绘制区域图(或折线图)和饼图.一开始,楼主 ...

  5. Backbone源码解析(一):Event模块

    Backbone是一个当下比较流行的MVC框架.它主要分为以下几个模块: Events, View, Model, Collection, History, Router等几大模块.它强制依赖unde ...

  6. Java IO6:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: public static void main(String[] args) throws Exception { File file = new Fi ...

  7. Alpha阶段冲刺总结

    Alpha阶段冲刺阶段总结 预期计划: 本阶段的预期计划是实现打地鼠游戏的基本功能,包括:游戏功能.难度调节功能.计时功能.计数记分功能.DIY设置功能.分数记录功能. 实际进展: 在经过三周的Alp ...

  8. Guava - 并行编程Futures

    Guava为Java并行编程Future提供了很多有用扩展,其主要接口为ListenableFuture,并借助于Futures静态扩展. 继承至Future的ListenableFuture,允许我 ...

  9. (文摘)彻底理解webservice SOAP WSDL

    WebServices特点介绍 WebServices 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开 ...

  10. Java的String字符串内容总结

    String--字符串 获取字符串的长度 使用Sring类的length()方法可获取字符串对象的长度,例: str.length(); str代表指定的字符串对象;返回值为返回指定字符串的长度.例: ...