日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

百度地图 IOS版开发经验分享

發(fā)布時間:2025/4/14 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度地图 IOS版开发经验分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近剛完成app中地圖的應(yīng)用,感覺非常的曲折,折騰了很久,剛才開始一直不能成功使用百度地圖api,報一大堆的錯誤,后來換到高德地圖,又發(fā)現(xiàn)服務(wù)端使用的百度的經(jīng)緯度,又從高德?lián)Q回百度,淚奔。

這里簡單比較下高德地圖和百度地圖,個人覺得高德地圖api導(dǎo)入真是非常簡單,而且還分成幾種版本;相比較百度地圖api的導(dǎo)入就繁瑣多了,主要是導(dǎo)入靜態(tài)庫文件,初次使用真的是繁瑣,百度提供了三種導(dǎo)入方式,最后還是覺得合并靜態(tài)庫文件比較方便,不然要在xcode中作很多設(shè)置,而且還要根據(jù)各種情況更改,所以我建議還是選擇第二種方式。

使用百度地圖的API時,最好去官方技術(shù)論壇下載兩個pdf文件:IOS開發(fā)教程-第一部分和第二部分的pdf文件,這兩個文件太有用了,不要去看demo,也不要去搜索教程,就用這個兩個文件就夠了,沒事不要去論壇提問,很難得到回復(fù),都是一堆官方的回復(fù),幾乎無用。

iOS開發(fā)教程-第一部分.pdf 主要是如何申請key,和如何導(dǎo)入API到xcode工程。這里一定要按照pdf中的指示去做,否則問題多多。導(dǎo)入靜態(tài)庫的時候最好選擇第二種方式,維護起來比較簡單。有些配置(比如libary search paths和header search paths)在你導(dǎo)入的時候xcode已經(jīng)為你設(shè)置好了,所以可以不用考慮

如果導(dǎo)入過程完美,后面開發(fā)起來都是十分簡單的事情,百度api介紹也比較完整,用起來很順手。

iOS開發(fā)教程-第二部分.pdf 主要就是對百度地圖功能的各種介紹,這個你不會得到全部的可用的東西,需要結(jié)合demo一起用,先從pdf中找到你需要的功能,有個大體的了解,再去看demo中的代碼,然后再實際應(yīng)用到你的工程中。

列幾個遇到的問題

1.百度讀取CLLocationCoordinate2D的問題,最新版本(V2.5)CLLocationCoordinate2DMake的兩個參數(shù)與之前函數(shù)的相反,這個困擾了我很久,以前版本跟現(xiàn)在版本的程序,用同一個經(jīng)緯度,舊版的可以顯示標注,新版的卻不可以。

例如:舊版是這樣子

[self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(118.144992,24.497386)];

新版要這樣才行

[self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(24.497386,118.144992)];

不知道為什么百度要這樣做

?

2.BMKMapViewDelegate 的方法

- (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view

這個在點擊同一個標注以后只會執(zhí)行一次,要點擊其他的標注再來點擊才會執(zhí)行

后來發(fā)現(xiàn)可以在每次執(zhí)行的時候調(diào)用一下這個 ?[mapView deselectAnnotation:view.annotation animated:YES];

這樣同一個標注可以一致執(zhí)行了,別問我為什么需要這個功能,因為我把標注的氣泡隱藏了,只能通過點擊標注來實現(xiàn)了。

?

3.計算屏幕內(nèi)的標注方法,這里直接上代碼了,實驗過是可用的

首先將經(jīng)緯度轉(zhuǎn)化為屏幕內(nèi)坐標

CGPoint point = [self.mapView convertCoordinate:annotationitem.coordinate toPointToView:self.mapView];

然后判斷坐標是否在地圖可見范圍內(nèi)

CGRectContainsPoint(CGRectMake(0, 44, self.mapView.frame.size.width, self.mapView.frame.size.height-44-49), point)

?

4.BMKMapViewDelegate 的方法

- (BMKAnnotationView *)mapView:(BMKMapView *)view viewForAnnotation:(id<BMKAnnotation>)annotation

使用此方法時,都可能會用到自定義的BMKAnnotationView類,但是請在給自定義類BMKAnnotationView,調(diào)用新定義的方法或?qū)傩詴r,先執(zhí)行

annotationView.annotation = annotation;

保證在你要執(zhí)行的其他代碼前面就好

?

-------------------------------------------------------------------------------------------------------------------------------

由于實際并沒有使用到百度地圖太多復(fù)雜的功能,所以也只能總結(jié)到這里了。。。。?

轉(zhuǎn)載于:https://www.cnblogs.com/Longkin/p/4130171.html

總結(jié)

以上是生活随笔為你收集整理的百度地图 IOS版开发经验分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。