一、申请API Key
首先我们要到百度地图开放平台上申请个 API Key,供我们程序使用。地址:http://lbsyun.baidu.com/
二、项目配置
1,修改Info.plist
由于 iOS9 改用更安全的 https,为了能够在 iOS9 中正常使用地图 SDK。需要在"Info.plist"中添加如下配置:
2,下载iOS SDK
百度地图 SDK 是 framework 形式,地址:点击此处下载。
原文:Swift - 百度地图SDK的配置和使用(附样例)
3,根据需要导入 .framework包
其中 BaiduMapAPI_Base.framework 为基础包,必须要导入。其他分包可按需导入。
这里我们只导入 BaiduMapAPI_Base.framework、BaiduMapAPI_Map.framework。
原文:Swift - 百度地图SDK的配置和使用(附样例)
4,添加相关依赖库
由于百度地图SDK 中提供了定位功能和动画效果,使用的是 OpenGL 渲染。所以我们要在 Project -> Build Phases -> Link Binary With Libraries,添加如下几个系统库:
CoreLocation.framework、QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework、libsqlite3.0.tbd、CoreTelephony.framework、libstdc++.6.0.9.tbd
原文:Swift - 百度地图SDK的配置和使用(附样例)
5,引入mapapi.bundle资源文件
mapapi.bundle 中存储了定位、默认大头针标注 View 及路线关键点的资源图片,还存储了矢量地图绘制必需的资源文件。
如果我们不需要使用内置的图片显示功能,则可以删除 bundle 文件中的 image 文件夹。
也可以根据具体需求任意替换或删除该 bundle 中 image 文件夹的图片文件。
(1)选中工程名,在右键菜单中选择 Add Files to “工程名”...
(2)选择 BaiduMapAPI_Map.framework -> Resources -> mapapi.bundle 文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,即可将资源文件添加到工程中。
原文:Swift - 百度地图SDK的配置和使用(附样例)
6,新建桥接头文件
我们需要在这个头文件中 import 需要的库文件,具体内容如下。(关于桥接头文件的配置这里就不多说了)
#import
#import
#import
/****** 下面的几个暂时不需要 ******/
//#import
//#import
//#import
//#import
//#import
三、样例效果图
1,当程序启动后自动显示一个全屏的百度地图。地图中心点坐标设为上海东方明珠塔。
2,同时在地图上还添加了一个标注(自定义坐标)。
四、样例代码
1,AppDelegate.swift
在这里使用我们之前申请的授权 Key,来对 BMKMapManager 进行声明和初始化。
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, BMKGeneralDelegate {
var window: UIWindow?
var _mapManager: BMKMapManager?
func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
_mapManager = BMKMapManager()
// 如果要关注网络及授权验证事件,请设定generalDelegate参数
let ret = _mapManager?.start("mRYTrHzAZUlT5Aojf5tMSxxxxxxxxxxx",
generalDelegate: self)
if ret == false {
NSLog("manager start failed!")
}
return true
}
//...............
2,ViewController.swift
在这里我们创建添加百度地图 View,并设置显示区域以及标记点。
import UIKit
class ViewController: UIViewController {
//百度地图View
var _mapView: BMKMapView?
override func viewDidLoad() {
super.viewDidLoad()
//添加百度地图,并全屏显示
_mapView = BMKMapView(frame: CGRect(x: 0, y: 0,
width: self.view.frame.width,
height: self.view.frame.height))
self.view.addSubview(_mapView!)
}
override func viewDidAppear(animated: Bool) {
//地图中心点坐标
let center = CLLocationCoordinate2D(latitude: 31.245087, longitude: 121.506656)
//设置地图的显示范围(越小越精确)
let span = BMKCoordinateSpan(latitudeDelta: 0.05, longitudeDelta: 0.05)
//设置地图最终显示区域
let region = BMKCoordinateRegion(center: center, span: span)
_mapView?.region = region
// 添加一个标记点(PointAnnotation)
let annotation = BMKPointAnnotation()
var coor = CLLocationCoordinate2D()
coor.latitude = 31.254087
coor.longitude = 121.512656
annotation.coordinate = coor
annotation.title = "这里有只野生皮卡丘"
_mapView!.addAnnotation(annotation)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家