首頁技術文章正文

百度LBS使用教程詳解[java培訓]

更新時間:2020-03-15 來源:黑馬程序員 瀏覽量:

百度地圖上收錄的是常見的位置信息,而如果有一些特殊的未被百度地圖收錄的地點,百度提供的LBS 云服務可以讓我們很方便的自己去收錄地點信息(如景點的衛(wèi)生間等)。推薦了解黑馬程序員java培訓課程。

1. LBS 云簡介

LBS 是百度地圖針對LBS 開發(fā)者推出的平臺級服務,結合已有的地圖API 和SDK 服務,通過開放服務端存儲和計算能力,提供海量位置數(shù)據(jù)的實時存儲、檢索、展示一體化解決方案。

基于LBS 實現(xiàn)1:云端存儲2、云端檢索3、云地理編碼4、云地理逆編碼

百度LBS云使用介紹01


2. LBS 注冊和密鑰申請

百度地圖開放平臺網(wǎng)址

http://lbsyun.baidu.com/

使用LBS 云服務必須擁有百度賬號,登陸賬號后申請開啟LBS 云服務功能,要使用LBS云服務必須申請密鑰。

百度LBS云使用介紹02


2.1 密鑰應用類型

百度LBS云使用介紹03


選擇需要的應用類型,對于后端申請服務端; 通過js 代碼就申請瀏覽器端。

2.2 勾選需要的服務

百度LBS云使用介紹04


2.3 設置檢驗方式和白名單

百度LBS云使用介紹05


此處ip 地址格式輸錯會有提示(以上是服務端配置)

瀏覽器端稍有不同

百度LBS云使用介紹06

3. LBS 配額管理

百度針對LBS 云服務提供了一定的配額,超過免費額度就要花錢去買

百度LBS云使用介紹07

這個功能提供流量圖和余額明細,管理起來還是很方便。一般測試開發(fā)和小規(guī)模試用是足夠了,這點百度還做的不錯。

4. LBS 資料下載

百度提供了詳細的開發(fā)說明,可下載文檔和代碼例子

百度LBS云使用介紹08

注意LBS 云分為云存儲和云檢索

云存儲是負責新建,刪除和修改表的類似數(shù)據(jù)庫的DML 語句,云檢索才是真正查詢數(shù)據(jù)的。

5. LBS 建表和插入數(shù)據(jù)

LBS 可以直接頁面上根據(jù)百度地圖插入數(shù)據(jù)

點擊左側

百度LBS云使用介紹10


可以點右側創(chuàng)建按鈕新建表

1. 創(chuàng)建表名

百度LBS云使用介紹11

2. 設置字段

百度LBS云使用介紹12


LBS 的表中設置有默認字段,除默認字段也可手動添加

百度LBS云使用介紹14


3. 發(fā)布

如果要啟用,就勾選

百度LBS云使用介紹16


2.添加信息

點擊表數(shù)據(jù)管理

百度LBS云使用規(guī)則15

根據(jù)十字星在地圖上選點,然后填寫信息(一般經(jīng)度,緯度不用變)

百度LBS云使用介紹15


保存后就進數(shù)據(jù)存入

百度LBS云介紹18

3. 后臺代碼調用

參考文檔
@Test
// 建立表geotable
public void demo1() throws ClientProtocolException, IOException {
        // 1、創(chuàng)建httpClient 對象
        HttpClient client = HttpClients.createDefault();
       // 2、請求對象
        HttpPost httpPost = new HttpPost(
        "http://api.map.baidu.com/geodata/v3/geotable/create");
        // 3、綁定參數(shù)
        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、發(fā)送請求
      HttpResponse httpResponse = client.execute(httpPost);
       // 5、打印結果數(shù)據(jù)
       HttpEntity httpEntity = httpResponse.getEntity();
        System.out.println(EntityUtils.toString(httpEntity));
@Test
// 查詢表
public void demo2() throws ClientProtocolException, IOException {
       // 1、創(chuàng)建httpClient 對象
       HttpClient client = HttpClients.createDefault();
       // 2、請求對象
       HttpGet httpGet = new HttpGet("http://api.map.baidu.com/geodata/v3/geotable/list?ak=a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk");
       // 3、發(fā)送請求
       HttpResponse httpResponse = client.execute(httpGet);
       // 4、打印結果數(shù)據(jù)
       HttpEntity httpEntity = httpResponse.getEntity();
       System.out.println(EntityUtils.toString(httpEntity));
}
@Test
// 查詢表
public void demo4() throws ClientProtocolException, IOException {
       // 1、創(chuàng)建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、發(fā)送請求
      HttpResponse httpResponse = client.execute(httpGet);
     // 4、打印結果數(shù)據(jù)
     HttpEntity httpEntity = httpResponse.getEntity();
     System.out.println(EntityUtils.toString(httpEntity));
}
@Test
// 查詢表
public void demo5() throws ClientProtocolException, IOException {
        // 1、創(chuàng)建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、發(fā)送請求
        HttpResponse httpResponse = client.execute(httpGet);
        // 4、打印結果數(shù)據(jù)
        HttpEntity httpEntity = httpResponse.getEntity();
        System.out.println(EntityUtils.toString(httpEntity));
}


猜你喜歡

JVM內(nèi)存模型詳細介紹

分享到:
在線咨詢 我要報名
和我們在線交談!