问答媒体

 找回密码
 立即注册
快捷导航
搜索
热搜: 活动 交友 discuz
查看: 120|回复: 1

百度LBS使用教程详解

[复制链接]

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-15 11:25:54 | 显示全部楼层 |阅读模式
百度地图上收录的是常见的位置信息,而如果有一些特殊的未被百度地图收录的地点,百度提供的LBS 云服务可以让我们很方便的自己去收录地点信息(如景点的卫生间等)
1. LBS 云简介
LBS 是百度地图针对LBS 开发者推出的平台级服务,结合已有的地图API 和SDK 服务,通过开放服务端存储和计算能力,提供海量位置数据的实时存储、检索、展示一体化解决方案。
基于LBS 实现1:云端存储2、云端检索3、云地理编码4、云地理逆编码




2. LBS 注册和密钥申请
百度地图开放平台网址
http://lbsyun.baidu.com/
使用LBS 云服务必须拥有百度账号,登陆账号后申请开启LBS 云服务功能,要使用LBS云服务必须申请密钥。




2.1 密钥应用类型





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





2.3 设置检验方式和白名单





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



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



这个功能提供流量图和余额明细,管理起来还是很方便。一般测试开发和小规模试用是足够了,这点百度还做的不错。
4. LBS 资料下载
百度提供了详细的开发说明,可下载文档和代码例子



注意LBS 云分为云存储和云检索
云存储是负责新建,删除和修改表的类似数据库的DML 语句,云检索才是真正查询数据的。
5. LBS 建表和插入数据
LBS 可以直接页面上根据百度地图插入数据
点击左侧




可以点右侧创建按钮新建表
1. 创建表名



2. 设置字段




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




3. 发布
如果要启用,就勾选




2.添加信息
点击表数据管理



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




保存后就进数据存入



3. 后台代码调用
参考文档
@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=a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk");
       // 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=a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk&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));
}
回复

使用道具 举报

0

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2025-6-8 21:13:34 | 显示全部楼层
打酱油的人拉,回复下赚取积分
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-7-16 08:25 , Processed in 0.102127 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表