百度 LBS 云使用介绍

百度地图上收录的是常见的位置信息,而如果有一些特殊的未被百度地图收录的地点, 百度提供的 LBS 云服务可以让我们很方便的自己去收录地点信息(如景点的卫生间等)

LBS 云简介

LBS 是百度地图针对 LBS 开发者推出的平台级服务,结合已有的地图 API 和 SDK 服务, 通过开放服务端存储和计算能力,提供海量位置数据的实时存储、检索、展示一体化解决方 案

基于 LBS 实现 1:云端存储 2、云端检索 3、云地理编码 4、云地理逆编码

LBS 注册和密钥申请

使用 LBS 云服务必须拥有百度账号,登陆账号后申请开启 LBS 云服务功能,要使用 LBS

云服务必须申请密钥

密钥应用类型

选择需要的应用类型,对于后端申请服务端; 通过 js 代码就申请浏览器端

勾选需要的服务

设置检验方式和白名单

此处 ip 地址格式输错会有提示(以上是服务端配置) 浏览器端稍有不同

LBS 配额管理

百度针对 LBS 云服务提供了一定的配额,超过免费额度就要花钱去买

这个功能提供流量图和余额明细,管理起来还是很方便。一般测试开发和小规模试用是 足够了,这点百度还做的不错。

LBS 资料下载

百度提供了详细的开发说明,可下载文档和代码例子

注意 LBS 云分为云存储和云检索

云存储是负责新建,删除和修改表的类似数据库的 DML 语句,云检索才是真正查询数据的。

LBS 建表和插入数据

LBS 可以直接页面上根据百度地图插入数据点击左侧

进入

可以点右侧创建按钮新建表

创建表名

设置字段

LBS 的表中设置有默认字段,除默认字段也可手动添加

发布

如果要启用,就勾选

添加信息

点击表数据管理

点击新增

根据十字星在地图上选点,然后填写信息(一般经度,纬度不用变)

保存后就进数据存入

后台代码调用

参考文档

@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", "javaee41")); nameValuePairs.add(new BasicNameValuePair("geotype", "1"));

nameValuePairs.add(new BasicNameValuePair("is_published", "1")); nameValuePairs.add(new BasicNameValuePair("ak",

"a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk"));

// name=mytable4&geotype=1

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=a9F3QkTyeoyKAt2iR5i rH2xRzWSBaqzk");

// 3、发送请求

HttpResponse httpResponse = client.execute(httpGet);

// 4、 打印结果数据

HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity));

}

@Test

// 查询表

public void demo4() throws ClientProtocolException, IOException {

// 1、 创建 httpClient 对象

HttpClient client = HttpClients.createDefault();

// 2、 请求对象

HttpGet httpGet = new HttpGet(

"http://api.map.baidu.com/geodata/v3/column/list?ak=a9F3QkTyeoyKAt2iR5irH 2xRzWSBaqzk&geotable_id=191874");

// 3、发送请求

HttpResponse httpResponse = client.execute(httpGet);

// 4、 打印结果数据

HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity));

}

@Test

// 查询表

public void demo5() throws ClientProtocolException, IOException {

// 1、 创建 httpClient 对象

HttpClient client = HttpClients.createDefault();

// 2、 请求对象

HttpGet httpGet = new HttpGet(

"http://api.map.baidu.com/geodata/v3/poi/list?ak=a9F3QkTyeoyKAt2iR5irH2xR zWSBaqzk&geotable_id=191874");

// 3、发送请求

HttpResponse httpResponse = client.execute(httpGet);

// 4、 打印结果数据

HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity));

}

发布了682 篇原创文章 · 获赞 1391 · 访问量 171万+

猜你喜欢

转载自blog.csdn.net/itcast_cn/article/details/104770564
LBS