LBS.云是百度地图针对 LBS 开发者推出的平台级服务,结合已有的地图 API 和 SDK 服务,通
过开放服务端存储和计算能力,提供海量位置数据的实时存储、检索、展示一体化解决方案。
基于 LBS 实现 1、 云端存储 2、 云端检索 3、云地理编码 4、 云地理逆编码
LBS 云结构 : 表【geotable】、列【column】、数据【poi】 实现 CRUD
数据平台管理网址:http://lbsyun.baidu.com/data/mydata#/?_k=uinafz
1.在 pom.xml 引入 http client 的开发组件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast.maven</groupId>
<artifactId>baidumap</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>baidumap</name>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
2.基于 httpclient 工具,访问 LBS 接口 (创建表)
package cn.itcast.baidumap; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.commons.codec.Charsets; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.junit.Test; // 云存储 测试
public class BaiduLBSStorageTest { @Test // 建立表 geotable
public void demo1() throws ClientProtocolException, IOException { // 1、 创建httpClient对象
HttpClient client = HttpClients.createDefault(); // 2、 请求对象
HttpPost httpPost = new HttpPost( "http://api.map.baidu.com/geodata/v3/geotable/create"); // 3、 绑定参数
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("name", "mytable2")); nameValuePairs.add(new BasicNameValuePair("geotype", "1")); nameValuePairs.add(new BasicNameValuePair("is_published", "1")); nameValuePairs.add(new BasicNameValuePair("ak", "zbLsuDDL4CS2U0M4KezOZZbGUY9iWtVf")); httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, Charsets.UTF_8)); // 4、 发送请求
HttpResponse httpResponse = client.execute(httpPost); // 5、 打印结果数据
HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity)); } @Test // 查询表
public void demo2() throws ClientProtocolException, IOException { // 1、 创建httpClient对象
HttpClient client = HttpClients.createDefault(); // 2、 请求对象
HttpGet httpGet = new HttpGet( "http://api.map.baidu.com/geodata/v3/geotable/list?ak=zbLsuDDL4CS2U0M4KezOZZbGUY9iWtVf"); // 3、发送请求
HttpResponse httpResponse = client.execute(httpGet); // 4、 打印结果数据
HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity)); } }