如何制作api地图(如何制作api地图模板)-编程之家

求助,如何用百度地图API写地图?

最新百度地图使用注意事项(使用中出现引擎故障首页错误,以下为注意事项)

第一步是介绍BaiduMapAPI.framework

第二步是引入所需的系统库。

将CoreLocation.framework和QuartzCore.framework引入Xcode项目,

OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、

安全.框架.添加方法:在Xcode的项目中->:活动目标->;体格

阶段->;链接二进制和库,只需添加这些框架。

步骤3:环境配置

在目标->:构建设置->;将-ObjC添加到其他链接器标志中。

第四步,引入mapapi.bundle资源文件。

如果使用基础地图功能,需要添加该资源,否则地图无法正常显示。

Mapapi.bundle存储了定位的资源图片、默认的pin标记视图和路线的关键点,以及矢量地图绘制所必需的资源文件。如果你不需要使用

内置图像显示功能,可以删除捆绑文件中的图像文件夹。您还可以根据自己的具体需要,任意替换或删除该包中image文件夹中的图像。

一块。

方法:选择项目名称,然后在右键菜单中选择“添加文件到”。

“项目名称”…,从baidumapapi . framework

resources文件中选择mapapi.bundle文件,并选中“复制”

项”复选框,并单击“添加”按钮将资源文件添加到项目中。

步骤5:引入头文件。

使用SDK在类中引入头文件:

#导入& ltbaidumapapi bmapkit.h = & quot& quot& gt//导入所有头文件

#导入& ltbaidumapapi bmkmapview.h = & quot& quot& gt//只导入所需的单个头文件</baidumappi & gt;& lt/baidumapapi & gt;

以上均引自百度地图文档。这里要注意第四条。有这些在。框架,但是它们仍然需要单独添加到项目中。

还需要在info.plist中添加(下面两个选一个,两个都用默认的NSLocationWheninuseUsagedescription添加):

NSLocationWhen NinuseUsagedescription,允许您在前台使用GPS时获取其描述。

NSLocationAlwaysusageDescription,允许永久使用GPS的描述

使用时,由于第四步没有操作,发动机初始化失败。百度的文档真的不方便。写这篇文章,希望能给将要使用百度地图的朋友提供一些帮助。

一、使用百度地图的注意事项

1.静态库是由ObjectC

实现的,因此您需要确保至少有一个带有。mm后缀(您可以用。m后缀为。mm),或者在项目属性中指定编译方式,也就是Xcode的project->;编辑活动目标-& gt;构建->;GCC4.2 -语言->;编译设置为”的源代码。objective-c

& quot;

2.如果只在Xib文件中使用BMKMapView,而不在代码中使用,那么链接时编译器不会链接相应的符号。需要在项目属性中明确设置:在Xcode的项目中->:编辑活动目标->;构建->;链接-& gt;将-ObjC添加到其他链接器标志中。

3.申请授权密钥:新密钥和旧密钥不能通用,即新密钥只能在v2.0.2及以后版本的SDK中使用,旧密钥只能在v2.0.1及以前版本的SDK中使用;如果您还没有授权密钥,请申请它。

4.管理地图的生命周期:从2.0.0开始,BMKMapView增加了ViewwillApparel和ViewwillApparel方法来控制BMKMapView的生命周期,一次只能有一个BMKMapView接收回调消息。因此,在使用BMKMapView的viewController中,需要调用viewWillAppear和viewWillAppear方法中BMKMapView的对应方法,并处理delegate,代码如下:

-(void)viewWillAppear:(BOOL)animated {[_ mapView viewWillAppear];_ mapView.delegate = self//这里记住nil需要在不使用的时候设置,否则会影响内存的释放}-(void)view will消失:

-(BOOL)动画{[_mapView视图将消失];_ mapView.delegate = nil//不使用时,设置nil}

5.从iOS SDK v2.5.0开始,为了兼容iOS8的定位能力,做了相应的修改。开发者在使用过程中的注意事项如下:需要在info.plist中添加(下面两个选一个,两个都添加默认使用nslocationwhenninuseusagedescription):nslocationwhenninuseusagedescription,可以让你在前台使用GPS时获得对它的描述,并且可以让你永久使用GPS的描述。

6.在使用Xcode6开发SDK的过程中,需要在info.plist中添加:Bundle display name,其值不能为空(Xcode6新建项目没有这个配置,如果没有,管理器启动会失败)

7.从百度地图iOS SDK v2.5.0开始,支持和适配了arm64,开发包的体积增大。但根据开发者在R&D过程中的选择,最终生成的APP量不会有太大变化。

8.确保mapapi.bundle文件已添加到项目中,并且添加方法正确。您不能删除或随意更改files文件夹下的内容:

注:mapapi.bundle存储了定位的资源图片、默认的pin标记视图和路线的关键点,还存储了绘制矢量地图所必需的资源文件。如果不需要使用内置的图像显示功能,可以删除捆绑文件中的图像文件夹。您还可以根据您的具体需要,任意替换或删除该包中图像文件夹的图像文件。添加方法:将mapapi.bundle复制到你的项目目录下,将bundle文件直接拖拽到Xcode项目左侧的Groups&Files中。如果需要替换定位和指南针的图标,请保留原文件名,否则,替换后的新图片将无法显示。可以定制路线关键点的默认大头针标记和新图片名称。

9.重视BMKManager对象的生命周期管理。在使用map SDK的过程中不能释放对象,尤其是在arc的情况下。否则,一旦对象被释放,网络模块将不可用,地图无法加载,检索失败。

10.当app在前台和后台切换时,需要使用下面的代码来停止地图的渲染和openGL的绘制:

-(void)applicationWillResignActive:(ui application *)application {[bmkmapviewllbackground];//在应用程序即将后台时调用,停止所有与调用opengl相关的操作}-(void)applicationdidcombeactive:(ui Application *)Application {[bmkmapviewdiground];//应用程序返回前台状态时调用,回复地图的渲染和opengl相关操作}

二、使用百度地图需要介绍的库

(1)引入头文件

首先,复制头文件和静态库(。a)百度MapAPI提供的文件到你的项目目录,在Xcode中添加一个新的文件组,引入百度MapAPI提供的头文件(请使用Xcode 4。x或以上平台)。添加以下代码# import & quot你需要使用百度MapAPI BMapKit.h & quot

(2)引入静态库文件

百度地图SDK提供了模拟器和真机使用的静态库文件,分别存储在libs/Release-iphonesimulator和libs/Release-iphoneos文件夹中。有三种方法可以引入静态库文件:

第一种方法:拖放。一个对应平台的文件直接放到Xcode项目左侧的Groups&Files。缺点是。每次编译真机和模拟器都需要重新添加一个文件;

第二种方法:使用lipo命令合并。把一个设备和模拟器变成一个通用的。一个文件,并拖动合并的通用。项目中的一个文件。具体命令如下:lipo-create release-iphone OS/libbaidumapapi . a release-iphone simulator/libbaidumapapi . a-output libbaidumapapi . a

第三种方式:

1.将API的libs文件夹复制到应用程序项目的根目录。

2.Xcode中的项目->:编辑活动目标->;构建->;链接-& gt;将-ObjC添加到其他链接器标志中。

3.在Xcode的项目中设置静态库的链接路径->:编辑活动目标->;构建->;搜索路径-& gt;将静态库目录添加到库路径中,例如” $(SRCROOT)/../libs/Release$(有效平台名称)& quot,$(SRCROOT)宏表示您的项目文件目录,$(EFFECTIVE_PLATFORM_NAME)宏表示当前配置是OS还是模拟器。

注意:静态库是由ObjectC

实现的,因此您需要确保至少有一个带有。mm后缀(您可以用。m后缀为。mm),或者在项目属性中指定编译方式,也就是Xcode的project->;编辑活动目标-& gt;构建->;GCC4.2 -语言->;编译设置为”的源代码。objective-c

& quot;

(3)介绍系统框架

百度地图SDK提供定位功能和动画效果,v2.0.0版本开始使用OpenGL渲染,所以你需要在你的Xcode项目中引入CoreLocation.framework和QuartzCore.framework,OpenGLES.framework,SystemConfiguration.framework,CoreGraphics.framework和Security.framework。添加方法:在Xcode的项目中->:活动目标->;构建阶段->;用库连接二进制,只需添加这些框架。

(4)介绍mapapi.bundle资源文件

Mapapi.bundle存储了定位的资源图片、默认的pin标记视图和路线的关键点,以及矢量地图绘制所必需的资源文件。如果不需要使用内置的图像显示功能,可以删除捆绑文件中的图像文件夹。您还可以根据您的具体需要,任意替换或删除该包中图像文件夹的图像文件。

添加方法:将mapapi.bundle复制到你的项目目录下,将bundle文件直接拖拽到Xcode项目左侧的Groups&Files中。

酪如果需要替换定位和指南针的图标,请保留原文件名,否则,替换后的新图片将无法显示。可以定制路线关键点的默认大头针标记和新图片名称。

谷歌api是什么?什么什么钥匙?用来干嘛的?

说时候你的这个问题,很多人都不知道怎么.首先你要明白什么是api, API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

谷歌的api很多,比如有翻译的api,地图的api,,不过翻译的api好像不让用了,你说的也许是地图的吧 要使用google map API 的话必须针对域名申请相应的key文件,给你发一下地址去申请一下。http://code.google.com/intl/zh-CN/apis/maps/signup.html

地图api接口怎么收费?

高德API是完全免费的。至少暂时是完全免费的,以后,有可能会有地图调用次数的限制,对超过指定数量的调用收费,或者对升级为“专业版”的用户进行收费。

百度地图API怎么从地名到经纬度爬取?

// 地址解析器 根据经纬度获取当前车辆所在地址

var gc = new BMap.Geocoder();

gc.getLocation(pointAdd, function(rs){var addComp = rs.addressComponents;var adr=”车辆: “+chepai+”rr”+”位于: “+addComp.province + “, ” + addComp.city + “, ” + addComp.district + “, ” + addComp.street + “, ” + addComp.streetNumber;//创建信息窗口,点击标注时显示标注对应的车牌号码以及当前地址var infoWindow1 = new BMap.InfoWindow(adr);marker.addEventListener(“click”, function(){this.openInfoWindow(infoWindow1);});});