墩墩已蹲蹲i
2.1(v
1.
3.5及以前版本支持
1.5以上系統(tǒng))及以上版本設(shè)備的應(yīng)用程序接口 ? 可以使用該套 SDK開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用,通過調(diào)用地圖SDK接口,您可以輕松訪問地圖服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強(qiáng)的LBS(地圖類)應(yīng)用程序。 地圖Android SDK提供的所有服務(wù)是免費的,接口使用無次數(shù)限制。您需申請密鑰()后,才可使用地圖Android SDK。任何非營利性產(chǎn)品請直接使用。這弦外之音就是盈利的產(chǎn)品必須幫給錢。
一、地圖平臺。 地圖API:鏈接 地圖開發(fā)步驟是 ①獲取密鑰 ②申請新密鑰及查看原先申請的密鑰 ③開發(fā)指南 在安卓平臺上使用地圖的開發(fā)指南 ④類參考 地圖庫所提供的類及方法說明相關(guān) ⑤開發(fā)所使用的相關(guān)包及說明示例下例 噥,這就是地圖的apk平臺的界面: 首先,我們來申請。 步驟也非常的簡單: ①點擊獲取密鑰 ②進(jìn)入密鑰申請頁并閱讀相關(guān)的使用條款 ③勾選 已閱讀并同意條款 ④填寫應(yīng)用名稱 填寫一下應(yīng)用的相應(yīng)功能及描述 ⑤輸入驗證碼確定后 ⑥密鑰即可申請成功 我申請的如下圖所示: 如何把申請下來的jar包導(dǎo)入到項目中了。
一、在工程里新建libs文件夾(若不存在的話),將開發(fā)包里的baidumap_v2_1_
1.jar 拷貝到libs根目錄下,將libapp_BaiduMapApplib_v2_1_
1.so和libvi_voslib.so 拷貝到libsarmeabi目錄下。
二、項目屬性中Java Build Path->Order and Export中,確定Android Private Libaries與Android Dependencies這兩項前面的選擇框被選上后,
三、點確定 菜單Project->clean重新編譯項目后就可以正常使用地圖中的功能進(jìn)行編程了。
四、上圖包中的liblockSDK
3.
1.jar及對應(yīng)的so文件是用于標(biāo)注與搜索功能的,如果不需要可以不加入到項目當(dāng)中 jar包的架構(gòu)如下圖所示: 到入jar包的樣子也如下圖所示: 在清單文件下,要添加一下的權(quán)限。 <supports-screens :anyDensity="true" :largeScreens="true" :normalScreens="true" ?:resizeable="true" :smallScreens="true" /> 對需要加載地圖的Activity進(jìn)行屬性設(shè)置 <activity :name="com.dfrz.map.DFRZMapActivity" :configChanges="orientation|boardHidden|screenSize" :label="@string/app_name" :screenOrientation="sensor" > </activity> 這些準(zhǔn)備工作做好以后,我們需要到入相應(yīng)的map控件 <com.baidu.map.map.MapView :id="@+id/bmapsView" :layout_width="match_parent" :layout_height="wrap_content" :layout_weight="1" :clickable="true" /> 上述xml的源代碼就是這個就是加載地圖的控件框,這個布局你可以根據(jù)自己的需要進(jìn)行調(diào)整,或是放置到你的Activity需要的地方去。此控件需要接收到點擊,所以需要把clickable設(shè)置成true。 的地圖的原理就是這樣的。。。。。。。。。。。 地圖、標(biāo)注、搜索功能都需要用BMapManager對象來管理, BMapManager提供四個接口:init()、start()、stop()、destroy()。在應(yīng)用程序里生成BMapManager 對象并初始化,在程序退出時調(diào)用destroy(),在需要使用sdk功能的Activity的onCreate()方法里調(diào)用start()方 法,onDestroy()方法里調(diào)用stop()方法,或者onResume()/onPause()分別調(diào)用start()和stop()。 常用方法: destroy() : 在程序退出前調(diào)用? boolean init(java.lang.String?strKey, MKGeneralListener? listener) 初始化地圖引擎,需要送入申請的地圖Key boolean start() :開啟地圖API? boolean stop(): 終止地圖API,調(diào)用此函數(shù)后,不會再發(fā)生回調(diào)。 MapView——地圖的顯示者。 一個顯示地圖的視圖控件,當(dāng)被焦點選中時,它能捕獲按鍵和觸摸手勢去平移和縮放地圖 setBuiltInZoomControls(boolean?on):設(shè)置是否啟用內(nèi)置的縮放控件 getController():返回地圖的MapController,這個對象可用于控制和驅(qū)動平移和縮放 setDoubleClickZooming(boolean?bDoubleClickZooming) :?設(shè)置mapview是否支持雙擊放大效果 getOverlays():獲取當(dāng)時地圖控件中的已有圖層 refresh(): 刷新此地圖控件。 怎么用地圖實現(xiàn)了標(biāo)注了,這就需要LocationClient 標(biāo)注處理功能的核心類 registerLocationListener(BDLocationListener)接收到標(biāo)注數(shù)據(jù)后可由指定監(jiān)聽器中的 onReceiveLocation(BDLocation)的方法來接收相關(guān)的數(shù)據(jù)并做相關(guān)的處理 構(gòu)造: new LocationClient(getApplicationContext()) setLocOption(LocationClientOption)設(shè)置標(biāo)注的參數(shù) start()啟動標(biāo)注功能,此功能是持續(xù)的,可以定義間隔刷新時間 stop()結(jié)束標(biāo)注功能,但前面設(shè)置的標(biāo)注參數(shù)不會消失,可以再啟動 requestLocation() 發(fā)起異步標(biāo)注請求,如果位置沒有變化,不會發(fā)起網(wǎng)絡(luò)請求,直接返回上次的位置。(2次間隔需要大于1秒) LocationClientOption ?用于標(biāo)注的操作的類。 設(shè)置標(biāo)注功能的標(biāo)注方式 disableCache(boolean) 真表示禁用緩存標(biāo)注 setOpenGPS(boolean) 是否使用GPS標(biāo)注,前提是手機(jī)打開了GPS標(biāo)注 setAddrType(String) 當(dāng)字串為"all"時返回此位置地址信息,其它不返回 setCoorType(String) 設(shè)置返回坐標(biāo)的格式 gcj02 - 國測局 bd09墨卡托 bd0911經(jīng)緯坐標(biāo)(手機(jī)默認(rèn)) setScanSpan(int) 定時標(biāo)注的時間間隔(ms) 此值大于1000時,每隔此值指定的時間就會發(fā)起一次標(biāo)注 此值小于1000時或不設(shè)置此值時,調(diào)用一次requestLocation()方法則標(biāo)注一次 這是我們需要定義mainactivity的類。相應(yīng)源代碼如圖所示: protected void onDestroy() { mapView.destroy(); if (mapManager != null) { mapManager.destroy(); mapManager = null; } super.onDestroy(); } 有了這些準(zhǔn)備以后,相應(yīng)運行的效果如下: 這就是下地圖應(yīng)用的大概步驟。
理想
2021-09-23 17:37:54 1123查看 1回答
瓣開的花朵
2021-09-23 17:39:14 945查看 1回答
荷籺禾嚇
2021-09-23 17:46:17 418查看 3回答
nikkilee
2021-09-23 17:46:17 708查看 3回答
西藏圣地
2021-09-23 17:46:21 409查看 3回答
2021-09-23 17:51:32 573查看 2回答
空氣流星呢
2021-09-23 17:53:03 502查看 1回答