成都网站建设设计

将想法与焦点和您一起共享

ios开发高德地图,ios地图是高德地图吗

IOS开发中使用高德地图所遇到的问题

解决的办法:A页面生成一个mapView,然后大家共用它,而不是每次点击单元格都创建一个地图。因为A页面和B页面切换速度过快,地图绘制是很耗时间的,地图还没有创建出来就退出,有时候就会导致内存泄露--crash。

创新互联专业为企业提供杜集网站建设、杜集做网站、杜集网站设计、杜集网站制作等企业网站建设、网页设计与制作、杜集企业网站模板建站服务,十年杜集做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

iOS高德地图适配暗黑模式

iOS13以后iOS开发者讨论最大的应该就是暗黑模式了,我自己最近也在加班加点地为公司所有iOS项目适配暗黑模式,具体做法网上很多说明,适配的方式虽然很繁琐但也很简单,这里就不多做赘述,主要讲一下高德地图适配暗黑模式的方式,Let's do IT!

一、使用默认高德地图样式的可以在切换暗黑模式时改变高德地图的mapType,具体如下:

二、自定义高德地图样式setCustomMapStyleWithWebData,具体如下:

hbuilder ios 离线打包框架(适配iphonex)集成高德地图总结:

hbuilder ios 离线打包框架(适配iphonex)集成高德地图总结:

1.目前hbuilder内置的是百度地图,百度地图存在一定的缺陷,打开时页面会黑一下,这是一个官方的bug,目前无法解决,只有换成高德地图了。

2.需要到苹果申请对应的bundleID,再到高德地图官网申请key,如果没有这个key,到时候你的地图会加载不出来的。

3.在xcode内添加这些库,此处基本不要按照dcould这里提示去高德地图官网查看,要不会绕大弯子.

我们要做的是按照他们给出的excel清单来配置地图即可:如图:

5,在xcode里面配置高德的key

6.这也是最为关键的一步,当你配置及完成是会发现高德地图还是没有出来,为什么呢,配置不对吗,其实不是的,还需要删掉百度地图的一个静态库才可以。

这样高德地图就配置Ok了。

下面,我们来说说定位,轨迹,导航这三个问题:

定位:plus.geolocation.getCurrentPosition和map.getUserLocation

这两个方法都可以定位,前者可以返回详细的地理坐标信息,后者只可以返回经纬度。

轨迹:

//折线轨迹 这里需要将多个点连起来就会

function polyLine() {

var points = [new plus.maps.Point(103.9109733, 36.0427467), new plus.maps.Point(103.9091067, 36.04852), new plus.maps.Point(103.9113867, 36.0472933), new plus.maps.Point(103.9096267, 36.05072), new plus.maps.Point(103.9011733, 36.0505733), new plus.maps.Point(103.8949667, 36.04713), new plus.maps.Point(103.8855533, 36.0540267), new plus.maps.Point(103.8785533, 36.0560033), new plus.maps.Point(103.8790133, 36.0569467), new plus.maps.Point(103.8808467, 36.0531), new plus.maps.Point(103.8818933, 36.0527933), new plus.maps.Point(103.8795867, 36.05642), new plus.maps.Point(103.883132, 36.054494)];

var polylineObj = new plus.maps.Polyline();

polylineObj.setPath(points);

polylineObj.setStrokeColor("#0327fb");

polylineObj.setLineWidth(10);

map.addOverlay(polylineObj);

}

导航:这里需要有开始地点和目标地点

//导航

function walkSearch() {

var searchObj = new plus.maps.Search(map);

searchObj.walkingSearch(new plus.maps.Point(parseFloat(103.890256), parseFloat(36.060278)), "", new plus.maps.Point(parseFloat(103.9109733), parseFloat(36.0427467)), "");

searchObj.onRouteSearchComplete = function(state, result) {

if(state == 0) {

console.log('aa==' + JSON.stringify(result.getRoute(0)));

map.addOverlay(result.getRoute(0));

var d = result.getRoute(0).distance;

var time = result.getRoute(0).duration;

console.log("距离:" + d);

console.log('时间:' + time);

} else {

alert("检索失败");

}

}

}

iOS App内部调起百度地图、高德地图、腾讯地图

使用: [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"白名单://"]] 判断是否安装白名单里面的App.

苹果自带的地图不需要设置白名单,需要设置终点的经纬度就行,需要导入 #import MapKit/MapKit.h 头文件

可以参考: 百度地图官方文档 实现如下:

参数设置可以参考文档

可以参考: 高德地图官方文档 实现如下:

可以参考: 腾讯地图官方文档 实现如下:

.h

.m

Flutter笔记-调用原生IOS高德地图sdk

2017年底因公司业务组合部门调整,新的团队部分维护的项目用React Native技术混合开发。为适应环境变化,开启疯狂RN学习之旅,晚上回来啃资料看视频。可能由于本身对RN技术体验不感冒或者在环境之下强迫学习有点不爽。开始寻找代替方案,Fluter像一束曙光引起了我的注意,之后一直关注并利用闲余时间开始探索。2018年一直学习到使用Flutter写项目,从0.2.0开始到现在1.5版本的发布,终于开始慢慢的爬出坑位了,但是因为部分控件感觉还是不如原生控件好用,因而Flutter提供了PlatformView部件。近期因项目中严重使用依赖地图,故而做了Fluterr使用原生IOS高德地图调研。因为我本身是一名android开发人员,初学IOS并记录下来。

PlatformView是 flutter 官方提供的一个可以嵌入 Android 和 iOS 平台原生 view 的小部件。

在我们实际开发中,我们遇到一些 flutter 官方没有提供的插件可以自己创建编写插件来实现部分功能,但是原生View在 flutter 中会遮挡住flutter 中的小部件,比如你想使用高德地图sdk、视频播放器、直播等原生控件,就无法很好的与 flutter 项目结合。

1、info.plist文件设置

2、 ios 端实现原生组件PlatformView提供原生view

3 、ios 端创建PlatformViewFactory用于生成PlatformView

4、 ios 端创建FlutterPlugin用于注册原生组件

5 、flutter 平台嵌入 原生view

iOS端的UiKitView目前还只是preview状态, 默认是不支持的, 需要手动打开开关, 在info.plist文件中新增一行io.flutter.embedded_views_preview为true.

创建类 FlutterMapView 并实现FlutterPlatformView 协议

FlutterMapView.h

FlutterMapView.m

FlutterMapFactory.h

FlutterMapFactory.m

FlutterMapPlugin.h

FlutterMapPlugin.m

请前往 高德开放平台控制台 申请 iOS Key。

注意:Bundle Identifier需要与申请的时候填写的一致

地图依赖的库列举如下:

基础 SDK AMapFoundationKit.framework

第一步:将解压后的MAMapKit.framework 文件 copy 或 拖拽 到工程文件夹中,左侧目录选中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择工程目录下的 MAMapKit.framework 文件添加到工程中。

千万不要忘记将AMapFoundationKit也一起加入工程。

3D地图正确配置应如下图所示:

需要引入的资源文件包括:AMap.bundle,其中:AMap.bundle 在 MAMapKit.framework 包中,AMap.bundle资源文件中存储了定位、默认大头针标注视图等图片,可利用这些资源图片进行开发。

左侧目录中选中工程名,在右键菜单中选择Add Files to “工程名”…,从MAMapKit.framework中选择AMap.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。

成功跑起来 。。 。

iOS 开发 高德-----POI 数据相关

以上四种(关键字 周边搜索 多边形搜索 ID 搜索)的回调(来自官方demo)

沿途搜索回调

输入提示回调

根据提示语进行的后续操作(来自官方demo)

-地理编码

地理编码回调

地理反编码

地理反编码回调


文章名称:ios开发高德地图,ios地图是高德地图吗
标题来源:http://chengdu.cdxwcx.cn/article/phspsg.html