標籤:des io os ar 使用 for sp 檔案 div
最近在做地圖的應用,客戶讓用高德的地圖庫,現在總算是完工了,這麼一路走來,真是嘗盡了酸苦辣啊,網上高德的資源,可以說少之又少,可用資源比大熊貓還少,真讓國寶汗顏啊,不得不說一句,珍愛生命,遠離。。你懂得!
廢話不說,開始我們的高德庫的引入
(1).啟動xcode,建立工程,在啟勱頁選擇“Create a new Xcode project”,將跳轉到建立工程頁,選擇 iOS>Application>Single View App類型 。
(2).在工程左側目錄中,按右鍵工程名 MapSDK_Demo,選擇 Add Files to “MapSDK_Demo”...,在彈出的對話方塊中選擇 MapABC 地圖 API iOS 版提供的頭文 件 include 所在的路徑, 選擇“Copyitems into destination group’s folder(if needed)”,單擊“Add”, 可以將 include 檔案夾同時拷貝在工程目錄下。
(3) 點擊工程名 MapSDK_Demo,依次選擇 Targets>MapSDK_Demo>Build Settings 設定相關參數,在右側資訊視窗下方依次選擇 Search Paths>Header Search Paths,輸入 MapABC 地圖APIiOS版標頭檔所在的路徑,此處的include檔案夾放在此工程目錄下, 路徑為“./include/**”,注意:沒有雙引號
配置靜態庫
開發 iOS 裝置上的地圖功能需要引用地圖開發庫檔案 libMAMapKit.a。
MapABC 地圖 API iOS 版提供的地圖開發庫檔案 lib 包括兩個檔案,一個是適用於 iPhone 模擬器Debug-iphonesimulator 的 lib 檔案;另一個是適用於 iPhone 真機 Release-iphoneos 的 lib 檔案,您可以根據使用的類型進行相關引用和配置,添加引用及配 置方式如下
(1) 在工程左側目錄中,按右鍵工程名 MapSDK_Demo,選擇 Add Files to “MapSDK_Demo”...,在彈出的對話方塊中選擇地圖開發庫檔案 lib 所在的路徑,步驟同 上(2)節標頭檔的引入。引入後,lib 檔案夾將同時拷貝在工程目錄下。(2) 點擊工程名 MapSDK_Demo,依次選擇Targets>MapSDK_Demo>Build Settings 設定相關參數。在右側資訊視窗中選擇 Linking>Other Linker Flags,依次 輸入-all_load 與-lMAMapKit,
(3) 點擊工程名 MapSDK_Demo,依次選擇 Targets>MapSDK_Demo>Build Settings,設定相關參數。在右側資訊視窗中選擇 Search Path>Library Search Path, 設定地圖庫檔案的連結路徑(LibrarySearch Path),此處的 lib 檔案夾位於此工程目錄 下,請輸入“./lib/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)”, 也可以點擊“LibrarySearch Path”,對 Debug 不 Release 頃分別輸入對應的 lib 庫路徑,模擬器 lib 檔案路徑為“./lib/Debug-iphonesimulator”;真機 lib 檔案路徑為 “./lib/Release-iphoneos”。
引入相關設定檔
map_config.xml 檔案可以用來配置地圖取圖地址,地圖顯示層級,以及即時交通勱態刷 新時間等,引入方式同上(2)。
MapABC.bundle 檔案儲存體了定位、預設圖釘標註視圖等資源圖片,您可利用其資源 進行開發,引入方式同 上(2)
向量地圖涉及到圖元檔案,即 assets 提供的檔案。需要將 assets 檔案夾拷貝到 工程目錄下;然後,在工程左側目錄中,按右鍵工程名 MapSDK_Demo,選擇 Add Files to “MapSDK_Demo”...,在彈出的對話方塊中選擇 assets 所在路徑,選擇create folder reference for any added folder
引入其它相關架構
除 工 程 中 默 認 引 入 的 UIKit.framework 、 Foundation.framework 、CoreGraphics.framework、CoreData.framework 以外,還需引入 libz.dylib、libxml2.dylib、 CoreText.framework 、 QuartzCore.framework 、 SystemConfiguration.framework 、CoreLocation.framework。
變更檔尾碼名
由於靜態庫採用 ObjectiveC++實現,因此需要將工程中的應用程式代理程式檔案及需要調用 地圖的檔案尾碼名由.m 改為.mm,否則將導致編譯錯誤。
單機run一下,即成功。
ios-高德地圖的匯入