首先请允许我发一个牢骚。苹果地图这个坑。。。
一 、我们要开发一个国外定点展示房屋信息的地图应用。效果图如下:

二、第一反应用苹果原生地图Mapkit做。我们的坐标点都是从谷歌地图上取出来的。
功能还是比较简单的,很块做完了但是出现了坐标偏移的情况,跟谷歌地图上的坐标点有很大的出入。但是如果开了VPN的话就正常了。问题出在哪。
(1)苹果地图国内用高德数据,国外用tomtom数据,是根据你目前定位所在地自动判断使用哪个来源,整合得不是很好。
(2)地图的轮廓不是很好。糊弄事的用正方形解决一些小岛的轮廓。导致坐标不准确。

三、由以上问题,导致不能用苹果地图,我们团队开始想解决方案。一开始我们就否定了百度地图,因为他不提过国外数据。再来否定了高德地图API,因为考虑到数据都是他提供的肯定和苹果地图一样不准确的情况(这是我们走了很多弯路)。然后有同事提出了用国外的Mapbox这个地图不错。于是我们就开始用mapBox.
(1)首先验证map box的坐标点确实准确。我们就开始做。
(2)做完之后,发现大头针样式无法定制只能改变大头针的图片。做不到样式图效果。
(3)上网查了很多资料,发现mapbox还不完善,确实做不到自定义大头针。而且免费的api一天只能支持5000的点击量。这不否和我们的需求。于是放弃了。

四、最后抱着试一试的心态用了高德API,结果发现可以而且效果超级棒。API跟苹果地图的一样用。(^o^)/~ 最后附上成功的地图。

五、地图功能做完了,但是会遇到坐标点相同或距离太近的情况,坐标点叠加用户点不到,导致用户体验差。
我们这里做了这样的处理经纬度相差不足0.00005的坐标点就精度加上一个0.00005.

附代码

NSMutableArray *dateMutableArray=[NSMutableArray array];NSMutableArray *array=[NSMutableArray arrayWithArray:AnnosArr];for (int i=0; i<array.count; i++) {VEListMapModel *aMoldel=array[i];NSMutableArray *tempArray=[NSMutableArray array];[tempArray addObject:aMoldel];for (int j=i+1; j<array.count; j++) {VEListMapModel *bModel=array[j];if (fabsf((float)aMoldel.coordinate.latitude-(float)bModel.coordinate.latitude)<0.00005&&fabsf((float)aMoldel.coordinate.longitude-(float)bModel.coordinate.longitude)<0.00005) {[tempArray addObject:bModel];}}[dateMutableArray addObject:tempArray];[array removeObjectsInArray:tempArray];i-=1;}NSLog(@"dateMutableArray=%@",dateMutableArray);NSMutableArray *newAnnoArr=[NSMutableArray array];for (int i=0; i<dateMutableArray.count; i++) {NSMutableArray *arr=dateMutableArray[i];for (int j=0; j<arr.count; j++) {VEListMapModel *model=arr[j];CLLocationCoordinate2D coord=model.coordinate;coord.latitude+=0.00005*j;model.coordinate=coord;[newAnnoArr addObject:model];}}NSLog(@"newArr=%@",newAnnoArr);[self.mapView addAnnotations:newAnnoArr];[self.mapView showAnnotations:newAnnoArr edgePadding:UIEdgeInsetsMake(50, 50, 50, 50) animated:YES ];

结语:本来三天能完事的功能,搞了一个月,希望我的这篇文章可以帮助兄弟们少走弯路。

iOS 国外地图开发 谷歌地图坐标放到苹果地图上坐标不准确相关推荐

  1. 苹果地图副总裁_有关于苹果地图的几个新改变

    IT之家6月30日消息 苹果地图服务自iOS 6推出以来一直受到广大果粉的支持,不过,苹果地图并没有较大的改变,但是当你看到iOS 12上的苹果地图时,你会发现,它已经变的截然不同.作为iOS 12中 ...

  2. js室内地图开发_vue加载esmap室内地图

    vue加载esmap室内地图 使用 vue 开发室内地图与传统开发,有些许不同 下载vue-cli2/vue-cli3版地图示例 SDK目前不支持用require js引用,只能使用引用 Tips:使 ...

  3. Android基于LBS的地图开发:(一)Google地图的调用

    本文将分为两部分,第一部分是指导用户使用Mapview控件进行编程,其中包括了如何获得Google Map API,如何使用该API进行简单的开发,如何获得用户当前所在的位置.第二部分则包括如何在地图 ...

  4. android摩拜地图开发,android沉浸状态栏实现、地图多线路规划、Retrofit+RxJava+Jsoup+Mvp模式资讯类App等源码...

    Android精选源码 Android优质博客 Android各种沉浸式状态栏实现源码http://www.apkbus.com/thread-598927-1-1.html1.引入dependenc ...

  5. 在iOS中进行Mapbox地图开发杂谈

    最近因项目需要,在app中要集成Mapbox,并且要能与苹果地图切换使用.从最早认识Mapbox到最终集成完毕,中间有一些断断续续,但总的时间也不算短了,关于这方面的资料其实是比较少的,能参考的基本都 ...

  6. iOS 应用内跳转到百度地图、苹果地图、谷歌地图、高德地图等

    最近在做导航,所以把自己找到的资料总结一下! 无论是百度地图.高德地图.谷歌地图还是腾讯地图它们都有自己的SDK,我们只需要在自己的工程中导入SDK并查看相应的官方文档,基本上就可以实现导航.但是这样 ...

  7. 离线地图开发下实现GPS定位,坐标纠偏回放,偏离路线

    一.GPS坐标转换(通过离线算法调用,各类坐标系之间的转换) GPS设备标准坐标采用WGS-84坐标系或北斗导航,需要通过坐标系之间转换才能准确定位到地图上,通过js接口算法函数可简单实现坐标系之间的 ...

  8. OpenLayers开发离线地图源代码(OpenLayers开发谷歌高德百度地图)

    (OpenLayers DEMO)点击下载 本案例介绍如何在离线(单机.或局域网无Internet)状态下发布离线地图,且结合OpenLayers做基于地图的二次开发. 一.   离线地图数据下载 离 ...

  9. GeoServer地图开发解决方案(三):部署地图数据篇

    GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操作,通过 GeoS ...

最新文章

  1. 急速rust服务器管理_Rust 与服务端编程的碎碎念
  2. ios绘图基本图形之线条
  3. 大数据集群启停shell脚本:hadoop(hdfs、yarn)、hbase集群启停
  4. 动态规划--重拾我的“背包”
  5. Git 查看并修改 name 和 email
  6. Maven依赖排除 禁止依赖传递 取消依赖的方法
  7. LMSn没有运行在RT (real time) 模式Oracle 19c RAC?
  8. SQLSERVER 创建ODBC 报错的解决办法 SQLState:‘01000‘的解决方案
  9. python检测excel是否打开_Python: 如何判断远程服务器上Excel文件是否被人打开
  10. SE:14.Annotation
  11. 企业商誉管理系统(业务开展)
  12. Oracle中文转拼音函数
  13. php后端开发需要懂什么意思,PHP中的=什么意思?_后端开发
  14. python的coupon_Python数据分析:拼多多优惠券使用预测
  15. 计算机视觉工程师收入高吗?月薪有多少?
  16. 一文搞清楚软链接和硬链接
  17. 多线程专题之线程死锁原因之谜
  18. 新浪微博密谋上市 估值缺好故事
  19. 程序员为什么会越来越觉得前途很迷茫
  20. python word表格嵌套_【Python】Word表格汇总Excel

热门文章

  1. 2023年江南大学食品工程考研考情与难度、参考书及上岸前辈经验
  2. ps快速去除图片上的文字
  3. 丰炜协议转换网关WTGNet-VGR
  4. 2018年蓝桥杯C/C++B组赛——调手表
  5. thinkph5.1 + es
  6. Hijackthis浏览器劫持日志精解_网络安全日志,还我蓝色天空(转载)
  7. 80C51的存储结构,这次一定,一定懂
  8. GBASE 8A 安装
  9. 对付手机短信骗子的方法(够恶搞)
  10. 电赛神器:FPGA+STM32开发板PCB开源