標籤:des style blog http io color ar os 使用
iOS 整合百度SDK 請參考 百度地圖官方文檔 ,這裡不就多囉嗦了
本文介紹的是在百度地圖上根據經緯度,自訂氣泡時,氣泡位置的位移,在我們天朝這種事是很常見的,也見怪不怪了,在項目中使用的百度地圖的SDK,位置各種不對,百度地圖和其他地圖,如高德,他們都有自己的位移演算法,網上也有很多譬如 火星座標轉換之類的,都不能達到準備顯示的效果。
其實百度SDK 有他自己位移演算法,使用百度位移轉換就可以了
BMKPointAnnotation *annotation = [[BMKPointAnnotation alloc]init]; CLLocationCoordinate2D coor; // 傳人的需要顯示的經緯度 coor.longitude = [longitude floatValue]; coor.latitude = [latitudes floatValue];/** *座標轉換函式,從原始GPS座標,mapbar座標,google座標,51地圖座標,mapabc座標轉換為百度座標(51地圖座標需要顯出10000) *@param coordinate 待轉換的座標 *@param type 待轉換的座標系類型,GPS為原始GPS座標,COMMON為google座標,51地圖座標,mapabc座標 *@return 返回的NSDictionry中包含“x”,“y”欄位,各自對應經過base64加密之後的x,y座標 */ NSDictionary *dict = BMKConvertBaiduCoorFrom(coor,BMK_COORDTYPE_GPS);/** *base64加密後的座標字典解密函數 *@param dictionary 帶解密的NSDictionry,該NSDictionry中應包含“x”,“y”欄位,各自對應經過base64加密之後的x,y座標 *@return 解密之後的座標 */ CLLocationCoordinate2D baiduCoor = BMKCoorDictionaryDecode(dict); // 轉換為百度地圖所需要的經緯度annotation.coordinate = baiduCoor;//
更多細節,請參考百度地圖官方文檔。
iOS 整合百度地圖 位置位移問題