接上一片博文,我们已经创建好了桥接文件.那么如何调用?
在项目最开始的时候,我写了这个项目使用cocoapod管理依赖库,在这里,还是多记录一下吧.
1 在你的已经安装好cocoapod的电脑上,打开终端,输入pod search baidumapapi ,得到的结果如下:
剪头中的就是我们需要的,然后在我们的项目中的podfile中把pod 'BaiduMapAPI' '~>2.8.1'加进去并且保存
2 加好了类库当然需要安装到项目中,所以输入pod install,等待安装完毕
3 重新打开项目,发现项目结构变成如下模样:
然后打开我们的桥接文件,引用百度地图的头文件
command + B 试试是否编译成功,成功就可进行下一步了.
4 本来项目开始应该进入的是首页,但是上面既然写了如何使用百度地图API,那么就直接写在这里,后面写到使用百度地图的页面就不写了..
代码如下:
① 首先在appdelegate里添加红色框框里的代码,里面剪头部分需要你到百度官网拿项目的bundle identify来生成一个key,不要按照我这个写啊
② 然后在控制器里代码如下:
import UIKit
class ViewController: UIViewController ,BMKMapViewDelegate ,BMKLocationServiceDelegate{
var mapView: BMKMapView!
var locService: BMKLocationService!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
mapView = BMKMapView(frame: self.view.frame) //创建地图的view
self.view = mapView //让百度地图的view成为控制器的view
//设置定位精准度
BMKLocationService.setLocationDesiredAccuracy(kCLLocationAccuracyBest)
//指定最小距离更新,单位是米
BMKLocationService.setLocationDistanceFilter(10)
//初始化定位服务
locService = BMKLocationService()
//启动定位服务
locService .startUserLocationService()
mapView.showsUserLocation = false
//设置位置跟踪态
mapView.userTrackingMode = BMKUserTrackingModeNone
//显示定位图层
mapView.showsUserLocation = true
//设置是否支持多点(缩放)
mapView .zoomEnabled = true
//手机比例尺中可以显示的级别 最高为19
mapView .zoomLevel = 19
}
//定位代理
//用户方向更改后
func didUpdateUserHeading(userLocation: BMKUserLocation!) {
mapView.updateLocationData(userLocation)
}
//位置更新后
func didUpdateBMKUserLocation(userLocation: BMKUserLocation!) {
mapView.updateLocationData(userLocation)
//移动定位的位置到屏幕中间
mapView .setCenterCoordinate(userLocation.location.coordinate, animated: true)
}
override func viewWillAppear(animated: Bool) {
mapView.viewWillAppear()
mapView.delegate = self //在控制器view将要显示的时候设置mapview以及定位的Locservice的代理为控制器
locService.delegate = self
}
override func viewWillDisappear(anim