今天咱們來說有關高德雲存儲相關,就是咱們把一堆位置信息上傳到高德提供的雲圖管理器,而後咱們在本地區調用咱們所保存的地圖信息。android
具體是什麼,本身百度一下就好了。web
今天我就講一下具體流程。我會用web服務API與Android服務SDK。首先咱們看一張圖數據庫
相關的API以下:api
雲檢索API: http://lbs.amap.com/yuntu/reference/cloudsearch/安全
雲存儲API: http://lbs.amap.com/yuntu/reference/cloudstorage/#t1服務器
Android雲圖SDK: http://lbs.amap.com/api/android-sdk/guide/cloud/app
你會發現高德並無在Android服務SDK中提供操做(增刪改)雲端的數據的功能。eclipse
這是爲何?ide
考慮到用戶安全性問題(只要有tableID,與key即可直接修改雲端數據庫。 ),官方不推薦在終端直接操做雲存儲器中的數據(增刪改)。ui
推薦(如圖)在中間搭載共同服務器(我的)來操做雲端雲圖。
申請什麼KEY?
APIkey:主要是爲了使用高德地圖提供的開發服務。例android平臺sdk。
WEBkey:若是須要實現雲存儲功能須要申請一個雲存儲服務key。有多種選擇,例:web服務api。
爲何咱們要用webkey由於咱們想直接經過android去修改雲存儲中的數據。經過HTTP協議就能夠簡單的實現。
申請key的連接: http://lbs.amap.com/dev/key#/
別忘了打開「雲存儲「」的權限。要否則不能訪問雲端。
咱們須要填寫SHA1,具體路徑能夠在eclipse中找到路徑以下:
Eclipse>Preferences>Android>Build
我推薦使用一個debug keystore(就是調試版安全碼SHA1),由於在eclipse中的SHA1碼有時會變,那麼在代碼裏會提示「INVALID USER SCODE」。
經過在CMD命令行窗口中輸入一下命令:
keytool -genkey -alias androiddebugkey -keyalg RSA -validity 20000 -keystore debug.keystore -storepass android -keypass android
而後打開Eclipse>Preferences>Android>Build添加custom debug keystore
生成的key在哪?
C盤的user>本身>.android目錄裏會有debug.keystore文件導入進去就能夠了。而後複製添加到調試版安全碼SHA1中
申請完之後你能夠看到以下圖:
特別說明:若是使用android平臺SDK必須在工程的「 AndroidManifest.xml 」文件添加用戶key(android平臺SDK)。
<application android:icon="@drawable/icon" android:label="@string/app_name"> <meta-data android:name="com.amap.api.v2.apikey" android:value="請輸入您的用戶Key"></meta-data> <activity android:name="com.amap.map3d.demo.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"> <category android:name="android.intent.category.LAUNCHER"> </category></action></intent-filter> </activity> </application>
參考:http://lbs.amap.com/api/android-sdk/guide/mapshow/
快速製圖:http://lbs.amap.com/yuntu/operation/make/
手動建立雲圖:
咱們首先須要登陸數據管理臺: http://yuntu.amap.com/datamanager/
1.登陸數據管理臺
2.點擊「新建地圖」
3.添加數據
你能夠把此平臺看作是以個數據庫。
這個雲圖是一張TABLE。
固定字段:id,name,image,geo-x,geo-y,address,createTime,updateTime
添加自定義字段:點擊上圖紅框便可添加。
咱們須要訪問此TABLE的時候須要一個識別碼(TABLEID),在代碼裏實現訪問此table時會用到TABLEID。
TABLEID在哪?
點擊「開發選項」
那麼咱們能夠看到有一個索引管理的按鈕。
索引管理是什麼? 是當你要搜索某一行數據的時候查詢時的添加field。
咱們能夠最多添加5個自定義索引。
添加索引:
1 索引字段是在代碼中讀取數據時, 經過{keyword=索引字段值}的方式獲取到 相應數據。
2 默認資源name,address能夠添加自定義字段。
接下來咱們繼續看有關雲檢索
主要分以上幾種檢索方式具體能夠參考api。
本地檢索: 當檢索區域是全國時,等同於對存儲在雲圖裏的數據進行全表檢索。 keywords是對創建了文本索引字段的對應列內容進行關鍵字查詢;
周邊檢索: 在指定tableid的數據表內,搜索指定中心點和半徑範圍內, 符合篩選條件的位置數據。服務協議:HTTP/HTTPS GET。
多邊形檢索: 在指定tableid的數據表內,搜索指定多邊形範圍內、 符合篩選條件的位置數據。多點複用。服務協議:HTTP/HTTPS GET。
id檢索: 在指定tableid的數據表內,查詢對應數據id的數據詳情。 只能用_id ,服務協議:HTTP/HTTPS GET。
雲檢索API: http://lbs.amap.com/yuntu/reference/cloudsearch/
下一節咱們講具體實現方法~