重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用: [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"白名单://"]] 判断是否安装白名单里面的App.
成都做网站、成都网站制作的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。创新互联公司多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择创新互联公司,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。
苹果自带的地图不需要设置白名单,需要设置终点的经纬度就行,需要导入 #import MapKit/MapKit.h 头文件
可以参考: 百度地图官方文档 实现如下:
参数设置可以参考文档
可以参考: 高德地图官方文档 实现如下:
可以参考: 腾讯地图官方文档 实现如下:
.h
.m
你要在 info.plist里面添加一个键 叫做 bundle display name 。 百度开发辅助文档里面有 好好查下
最新百度地图使用注意事项(在使用中出现了引擎失败的家在错误,下边是注意事项)
第一步、引入BaiduMapAPI.framework
第二步、引入所需的系统库
在Xcode工程中引入CoreLocation.framework和QuartzCore.framework、
OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、
Security.framework。添加方式:在Xcode的Project - Active Target -Build
Phases -Link Binary With Libraries,添加这几个framework即可。
第三步、环境配置
在TARGETS-Build Settings-Other Linker Flags 中添加-ObjC。
第四步、引入mapapi.bundle资源文件
如果使用了基础地图功能,需要添加该资源,否则地图不能正常显示
mapapi.bundle中存储了定位、默认大头针标注View及路线关键点的资源图片,还存储了矢量地图绘制必需的资源文件。如果您不需要使用
内置的图片显示功能,则可以删除bundle文件中的image文件夹。您也可以根据具体需求任意替换或删除该bundle中image文件夹的图片文
件。
方法:选中工程名,在右键菜单中选择Add Files to
“工程名”…,从BaiduMapAPI.framework||Resources文件中选择mapapi.bundle文件,并勾选“Copy
items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。
第五步、引入头文件
在使用SDK的类引入头文件:
#import baidumapapi bmapkit.h=""//引入所有的头文件
#import baidumapapi bmkmapview.h=""//只引入所需的单个头文件/baidumapapi/baidumapapi
上面都是引用百度地图文档上的内容,这里要注意第四条,.framework中居然有这些,但还是需要单独add到项目里。
还需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述
NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述
在使用时由于没有操作第4步,导致引擎初始化失败,百度的文档写的是真心不方便。写下这篇希望能给将要使用百度地图的朋友提供点帮助。
一、使用百度地图需要注意的事项
1、静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project - Edit Active Target - Build- GCC4.2 - Language - Compile Sources As设置为"Objective-C++"
2、如果您只在Xib文件中使用了BMKMapView,没有在代码中使用BMKMapView,编译器在链接时不会链接对应符号,需要在工程属性中显式设定:在Xcode的Project - Edit Active Target - Build -Linking - Other Linker Flags中添加-ObjC
3、授权Key的申请:新、旧Key之间不可通用,即新Key只可以使用在v2.0.2及后续版本的SDK中,旧的Key只适用于v2.0.1及之前版本的SDK;如果还没有授权Key,请申请密钥
4、管理地图的生命周期:自2.0.0起,BMKMapView新增viewWillAppear、viewWillDisappear方法来控制BMKMapView的生命周期,并且在一个时刻只能有一个BMKMapView接受回调消息,因此在使用BMKMapView的viewController中需要在viewWillAppear、viewWillDisappear方法中调用BMKMapView的对应的方法,并处理delegate,代码如下:
-(void)viewWillAppear:(BOOL)animated{[_mapView viewWillAppear];_mapView.delegate=self;// 此处记得不用的时候需要置nil,否则影响内存的释放}-(void)viewWillDisappear:
-(BOOL)animated{[_mapView viewWillDisappear];_mapView.delegate=nil;// 不用时,置nil}
5、自iOS SDK v2.5.0起,为了对iOS8的定位能力做兼容,做了相应的修改,开发者在使用过程中注意事项如下:需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述
6、在使用Xcode6进行SDK开发过程中,需要在info.plist中添加:Bundle display name ,且其值不能为空(Xcode6新建的项目没有此配置,若没有会造成manager start failed)
7、百度地图iOS SDK v2.5.0起,对arm64进行了支持适配,开发包体积有所增加。但根据开发者在研发过程中的选择,最终生成的APP体积并不会发生较大的变化。
8、确认项目中添加mapapi.bundle文件以及添加方法正确,不能删除或随意更改其中files文件夹下的内容:
注:mapapi.bundle中存储了定位、默认大头针标注View及路线关键点的资源图片,还存储了矢量地图绘制必需的资源文件。如果您不需要使用内置的图片显示功能,则可以删除bundle文件中的image文件夹。您也可以根据具体需求任意替换或删除该bundle中image文件夹的图片文件。添加方式:将mapapi.bundle拷贝到您的工程目录,直接将该bundle文件托拽至Xcode工程左侧的GroupsFiles中即可。若您需要替换定位、指南针的图标,请保留原文件名称,否则不显示替换的新图片,默认大头针标注与路线关键点的新图片名称可自定义名称。
9、注意BMKManager对象的生命周期管理,在使用地图SDK期间不能释放该对象,尤其在arc情况下注意避免提前被自动释放,否则,该对象一旦被释放,网络模块将不可用,地图无法加载,检索失败。
10、app在前后台切换时,需要使用下面的代码停止地图的渲染和openGL的绘制:
-(void)applicationWillResignActive:(UIApplication*)application{[BMKMapViewwillBackGround];//当应用即将后台时调用,停止一切调用opengl相关的操作}-(void)applicationDidBecomeActive:(UIApplication*)application{[BMKMapViewdidForeGround];//当应用恢复前台状态时调用,回复地图的渲染和opengl相关的操作}
二、使用百度地图需要引进的库
(1)引入头文件
首先将百度MapAPI提供的头文件和静态库(.a)文件拷贝到您的工程目录下,在Xcode中添加新的文件Group,引入百度MapAPI提供的头文件(请使用Xcode 4.X以上平台)。在您需要使用百度MapAPI的文件中添加以下代码 #import"BMapKit.h"
(2)引入静态库文件
百度地图SDK提供了模拟器和真机两中环境所使用的静态库文件,分别存放在libs/Release-iphonesimulator和libs/Release-iphoneos文件夹下。有三种方式可以引入静态库文件:
第一种方式:直接将对应平台的.a文件拖拽至Xcode工程左侧的GroupsFiles中,缺点是每次在真机和模拟器编译时都需要重新添加.a文件;
第二种方式:使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件,将合并后的通用.a文件拖拽至工程中即可,具体命令如下:lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a
第三种方式:
1. 将API的libs文件夹拷贝到您的Application工程根目录下
2. 在Xcode的Project - Edit Active Target - Build - Linking - Other Linker Flags中添加-ObjC
3. 设置静态库的链接路径,在Xcode的Project - Edit Active Target - Build - Search Path - Library Search Paths中添加您的静态库目录,比如"$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)",$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator
注:静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project - Edit Active Target -Build - GCC4.2 - Language - Compile Sources As设置为"Objective-C++"
(3)引入系统framework
百度地图SDK中提供了定位功能和动画效果,v2.0.0版本开始使用OpenGL渲染,因此您需要在您的Xcode工程中引入CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework。添加方式:在Xcode的Project - Active Target -Build Phases -LinkBinary With Libraries,添加这几个framework即可。
(4)引入mapapi.bundle资源文件
mapapi.bundle中存储了定位、默认大头针标注View及路线关键点的资源图片,还存储了矢量地图绘制必需的资源文件。如果您不需要使用内置的图片显示功能,则可以删除bundle文件中的image文件夹。您也可以根据具体需求任意替换或删除该bundle中image文件夹的图片文件。
添加方式:将mapapi.bundle拷贝到您的工程目录,直接将该bundle文件托拽至Xcode工程左侧的GroupsFiles中即
可。若您需要替换定位、指南针的图标,请保留原文件名称,否则不显示替换的新图片,默认大头针标注与路线关键点的新图片名称可自定义名称。
写使用百度地图API在哪些场景下运用。百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。
百度地图API包括地图的基本功能,包括平移,缩放,脱拽等等,还有地图上的控件,比如说我们现在打开地图看一下,我们可以看到就是在地图上定位,缩放等这些功能,还有工具类,图层,本地搜索,公交连锁,步行导航等等功能。
扩展资料
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。
LBS.云是百度地图针对LBS开发者推出的平台级服务,结合已有的地图API和SDK服务,通过开放服务端存储和计算能力,提供海量位置数据(点、面数据)的实时存储、检索、展示一体化解决方案。
鹰眼提供各端SDK和API供开发者便捷接入,追踪您所管理的车辆/人员等运动物体。基于鹰眼提供的接口和云端服务,开发者可以迅速构建一套完全属于您自己的完整、精准且高性能的轨迹管理系统,可应用于车队管理、人员管理等领域。
百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。
百度地图URI API是为开发者提供直接调起百度地图产品(百度地图手机客户端)以满足特定业务场景下应用需求的程序接口,开发者只需按照接口规范构造一条标准的URI,便可在PC和移动端浏览器或移动开发应用中调起百度地图产品,进行地图展示和检索、线路查询、导航等功能,无需进行复杂的地图功能开发。 该套API免费对外开放,无需申请ak。
百度地图车机版open control调用协议是面向各OEM车企、车内相关零部件供应商、车机/车镜系统方案商、第三方开发者提供的一种可被第三方(系统或应用)调用百度地图车机版(以下简称bdmap)的方法,以满足某些特定业务场景下需求的接口。
参考资料:百度地图开发文档-LBS云
参考资料:百度地图开发文档-鹰眼轨迹服务
参考资料:百度地图开发文档-Web服务API
参考资料:百度地图开发文档-地图调起API
参考资料:百度地图开发文档-百度地图车机版