百度LBS使用教程详解

0
回复
116
查看
[复制链接]

微信扫一扫 分享朋友圈

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-1-7 21:48:45 | 显示全部楼层 |阅读模式
百度地图上收录的是常见的位置信息,而如果有一些特殊的未被百度地图收录的地点,百度提供的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));
}
回复

使用道具 举报

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

本版积分规则

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