今天咱们来说有关高德云存储相关,就是咱们把一堆位置信息上传到高德提供的云图管理器,而后咱们在本地区调用咱们所保存的地图信息。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/
下一节咱们讲具体实现方法~