今天我们来讲有关高德云存储相关,就是我们把一堆位置信息上传到高德提供的云图管理器,然后我们在本地区调用我们所保存的地图信息。

具体是什么,自己百度一下就行了。

高德提供的服务:

今天我就讲一下具体流程。我会用web服务API与Android服务SDK。首先我们看一张图

android 显示数据详情 高德地图 高德地图数据存储位置_android

相关的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/

你会发现高德并没有在Android服务SDK中提供操作(增删改)云端的数据的功能。

这是为什么?

考虑到用户安全性问题(只要有tableID,与key便可直接修改云端数据库。 ),官方不推荐在终端直接操作云存储器中的数据(增删改)。

推荐(如图)在中间搭载共同服务器(个人)来操作云端云图。

 

android 显示数据详情 高德地图 高德地图数据存储位置_android 显示数据详情 高德地图_02

申请什么KEY?

 APIkey:主要是为了使用高德地图提供的开发服务。例android平台sdk。

 WEBkey:如果需要实现云存储功能需要申请一个云存储服务key。有多种选择,例:web服务api。

 为什么我们要用webkey因为我们想直接通过android去修改云存储中的数据。通过HTTP协议就可以简单的实现。

申请key的链接: http://lbs.amap.com/dev/key#/

android 显示数据详情 高德地图 高德地图数据存储位置_android 显示数据详情 高德地图_03

别忘了打开“云存储“”的权限。要不然不能访问云端。

我们需要填写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 显示数据详情 高德地图 高德地图数据存储位置_数据_04

特别说明:如果使用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/

创建云图:

android 显示数据详情 高德地图 高德地图数据存储位置_android_05

快速制图:http://lbs.amap.com/yuntu/operation/make/

手动创建云图:

我们首先需要登录数据管理台: http://yuntu.amap.com/datamanager/

1.登录数据管理台

2.点击“新建地图”

3.添加数据

android 显示数据详情 高德地图 高德地图数据存储位置_数据_06

你可以把此平台看做是以个数据库。

这个云图是一张TABLE。

固定字段:id,name,image,geo-x,geo-y,address,createTime,updateTime

添加自定义字段:点击上图红框即可添加。

我们需要访问此TABLE的时候需要一个识别码(TABLEID),在代码里实现访问此table时会用到TABLEID。

TABLEID在哪?

点击“开发选项”

android 显示数据详情 高德地图 高德地图数据存储位置_android_07

那么我们可以看到有一个索引管理的按钮。

索引管理是什么? 是当你要搜索某一行数据的时候查询时的添加field。

我们可以最多添加5个自定义索引。

添加索引:

android 显示数据详情 高德地图 高德地图数据存储位置_数据_08

1 索引字段是在代码中读取数据时, 通过{keyword=索引字段值}的方式获取到 相应数据。

2 默认资源name,address可以添加自定义字段。

 接下来我们继续看有关云检索

云检索:

android 显示数据详情 高德地图 高德地图数据存储位置_数据_09

主要分以上几种检索方式具体可以参考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/

 

 下一节我们讲具体实现方法~