百度地图LBS入门
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));
}
}