手绘地图导航

第三方库

NAMapKit,

1)支持在手绘图上标记、缩放

2)支持在单张图片

3)支持瓦片小图片

思路

前提:美工已经切好手绘图,并告知我们当前的缩放级别。

1)确定好手绘图左上角点在百度地图上的经纬度坐标。

2)将百度地图经纬度坐标转换成平面坐标

/**
 *将经纬度坐标转换为投影后的直角地理坐标
 *@param coordinate 待转换的经纬度坐标
 *@return 转换后的直角地理坐标
 */
UIKIT_EXTERN BMKMapPoint BMKMapPointForCoordinate(CLLocationCoordinate2D coordinate);

3)把要标记在手绘图上的点的百度坐标获取到

4)把上述经纬度坐标转换成平面坐标并减去左上角的平面坐标的差值,即为上述经纬度所对应的手绘图坐标。

5)在手绘图上添加标记:

标记
NAPinAnnotation *melbourne = [NAPinAnnotation annotationWithPoint:[self locationCoordToCgPoint:CLLocationCoordinate2DMake(30.549436, 114.311086)]];
melbourne.title = @"鹅池";
melbourne.subtitle = @"I have a subtitle";
melbourne.color = NAPinColorRed;
[mapView addAnnotation:melbourne animated:NO];
 
- (CGPoint)locationCoordToCgPoint:(CLLocationCoordinate2D)coor
{
    BMKMapPoint point = BMKMapPointForCoordinate(coor);
    // rate根据具体情况得到。
    // leftTopCoor为手绘图左上角点的百度地图平面坐标。
    return CGPointMake((point.x - leftTopCoor.x) * rate, (point.y - leftTopCoor.y) * rate);
}

6)如果不需要显示当前位置信息,则可以拿到手绘图后直接在图片上测量出平面坐标然后标记。

转载于:https://www.cnblogs.com/java-koma/p/5282407.html

IOS 手绘地图导航相关推荐

  1. 手绘地图制作的关键点之“导航智能纠偏”

    这里再来聊一聊关于手绘地图导航的智能纠偏问题. 其实这个问题,在<手绘​地图制作的关键点之"实时导航">一文中,已经有过简述,这里再来细聊一下.本文纯属方案探讨,也是景 ...

  2. 手绘地图制作的关键点之“实时导航”

    接上文<手绘地图制作的关键点之"图层覆盖">,继续来聊聊手绘地图另外一个关键点. 那就是"实时导航". 作者:轻轻的烟雾(z281099678) 之 ...

  3. 手绘地图深度解析:类型、风格、功能、价值、制作流程、智慧导览

    本文概要:文本尝试系统性.多角度.全方位的介绍一下现在流行的手绘地图系统. 作者:轻轻的烟雾(z281099678) 一.手绘地图定义 什么是手绘地图?或者说,手绘地图到底是什么样的? 手绘地图首先是 ...

  4. 如何制作专业的手绘地图(电子地图、智慧导览系统)

    一.智慧导览系统介绍 手绘电子地图,就是把手绘地图覆盖到地图上,游客或者普通用户,可以在手机上通过地图的链接(或者现在流行的小程序)打开使用.是一种使用非常方便,集**"视.听.路径规划.实 ...

  5. 景区手绘地图的绘制流程

    接上文<景区手绘地图(电子地图.智慧导览系统)如何制作>,这里再来说说具体的制作流程. 手绘地图的绘制,是一个相当专业的工作.遵循一些科学的规范,可以有效避免很多无用的.返工的.错误的工作 ...

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

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

  7. 如何制作手绘地图?如何将图片图层精确地对准在地图上?

    最近大家常常在问,如何制作鼓浪屿手绘地图,如何将气象图层叠加在高德地图上啊? 其实地图上的研发量很小,几行代码就可以搞定. 关键是在图片绘制上,有较高的要求. 下面就用简单粗暴的方法来实现,如有不妥之 ...

  8. 自定义View进阶-手绘地图(二)

    前一篇说到了使用自定义ViewGroup实现手绘地图,没看过的可以移步,因为本篇会用到上一篇的部分内容 自定义View-手绘地图(一) 和前一篇一样,实现图片的操作经过同样的操作.onMeasure, ...

  9. 微信小程序--放入个性化手绘地图具体步骤(腾讯地图)

    微信小程序–放入个性化手绘地图具体步骤(腾讯地图) 前言:小程序中想要实现个性化手绘地图需要通过H5嵌入的模式进行实现. 1.首先需要一个腾讯地图的账号(微信登录即可),然后选择个性化地图进入(htt ...

最新文章

  1. 综述:NLP中的深度学习优势
  2. docker logs 日志原理
  3. Hihocoer 1336 - Matrix Sum 二维树状数组
  4. c语言的报告一,C语言实验报告(一).doc
  5. 用十句简单英语激活你的口语
  6. c语言程序设计的例题,C语言程序设计例题与习题--详细介绍
  7. 用C语言编程复数计算器,简单实现C++复数计算器
  8. python怎么画波浪,字符波浪|Python练习系列[14]
  9. 最小二乘法节点定位(1)——小知识:非线性方程线性化
  10. matlab茎叶图命令,[转载]转载:Stata命令(转自人大论坛)
  11. 计算机组装与维护补考论文,计算机组装与维护课程教学论文
  12. 非QQ会员如何克隆好友
  13. 利用UltrISO将gho文件制作可引导iso
  14. 计算机网络接入网类型有哪些,《网络技术》接入网(AN)包括哪些类型?计算机等级考试...
  15. Docker系列之三:使用Docker镜像和仓库
  16. 列表页面的展开以及收起
  17. TensorFlow2 -官方教程 :保存和恢复模型
  18. python中的怎么打出来_如何在Python中打印上标?
  19. “做产品的”,如何自我调节:一封家书,给同学们参考
  20. LightGBM: A Highly Efficient Gradient Boosting Decision Tree

热门文章

  1. Android studio连接海马玩
  2. 任天堂Switch游戏机底座方案,支持按键一键切换TV模式
  3. 激光安全和光生物安全的深入对比
  4. Memblaze携全闪存VSAN解决方案亮相VMworld2015
  5. 揭秘:SSD的“可靠性”到底可不可靠
  6. launcher homeSettings notificationDots
  7. 淮北打造智慧城管新模式
  8. 淮北师范大学计算机学院闻波,淮北师范大学
  9. sql语句中的change和modify区别
  10. 计算机毕业设计-ssm饮用水配送管理系统代码-javaweb在线配送桶装水管理系统-水站配送管理java项目