swift 文章收集首页投稿(暂停使用,暂停投稿)

百度地图的SDK开发

2016-08-22  本文已影响0人  龙龙_龙

简介:
此文章对于想要进行地图类开发的 程序猿们有很大的一个帮助;由于百度地图的强大功能.与实用性;在国内是最好的导航平台;下面我就告诉大家怎么去使用;不能一一讲出来怎么使用,因为实在太多了,只能靠自己去好好研究了;

开发基础的前奏准备

Snip20160822_8.png Snip20160822_10.png Snip20160822_12.png Snip20160822_1.png

小Demo界面展示

Snip20160822_2.png
实现代码API

class ViewController: UIViewController {

// MARK:- 懒加载属性
private lazy var mapView : BMKMapView = BMKMapView(frame: self.view.bounds)
private lazy var poiSearch : BMKPoiSearch = BMKPoiSearch()

// MARK:- 系统回调
override func viewDidLoad() {
    super.viewDidLoad()
    
    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "检索", style: .Plain, target: self, action: #selector(ViewController.poiSearchClick))
    
    self.title = "百度地图"
    // 将mapView添加到控制器的View中
    view.addSubview(mapView)
    
    // 设置poiSearch的代理
    poiSearch.delegate = self
    
    // 改变地图的比例
    mapView.zoomLevel = 15
}

@objc private func poiSearchClick() {
    
    // 发起检索
    let option = BMKNearbySearchOption()
    option.pageIndex = 0
    option.pageCapacity = 20
    option.location = CLLocationCoordinate2D(latitude: 39.90, longitude: 116.39)
    option.keyword = "酒店"
    poiSearch.poiSearchNearBy(option)
}}  extension ViewController : BMKPoiSearchDelegate {
func onGetPoiResult(searcher: BMKPoiSearch!, result poiResult: BMKPoiResult!, errorCode: BMKSearchErrorCode) {
    for result in poiResult.poiInfoList {
        guard let info = result as? BMKPoiInfo else {
            continue
        }
        
        // 1.创建大头针模型对象
        let pointAnno = BMKPointAnnotation()
        pointAnno.coordinate = info.pt
        pointAnno.title = info.name
        pointAnno.subtitle = info.address
        
        // 2.添加到地图中
        mapView.addAnnotation(pointAnno)
    }
}}
上一篇 下一篇

猜你喜欢

热点阅读