百度地圖上收錄的是常見的位置信息,而如果有一些特殊的未被百度地圖收錄的地點(diǎn),百度提供的LBS 云服務(wù)可以讓我們很方便的自己去收錄地點(diǎn)信息(如景點(diǎn)的衛(wèi)生間等)。推薦了解黑馬程序員java培訓(xùn)課程。
1. LBS 云簡(jiǎn)介
LBS 是百度地圖針對(duì)LBS 開發(fā)者推出的平臺(tái)級(jí)服務(wù),結(jié)合已有的地圖API 和SDK 服務(wù),通過開放服務(wù)端存儲(chǔ)和計(jì)算能力,提供海量位置數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)、檢索、展示一體化解決方案。
基于LBS 實(shí)現(xiàn)1:云端存儲(chǔ)2、云端檢索3、云地理編碼4、云地理逆編碼
2. LBS 注冊(cè)和密鑰申請(qǐng)
百度地圖開放平臺(tái)網(wǎng)址
http://lbsyun.baidu.com/
使用LBS 云服務(wù)必須擁有百度賬號(hào),登陸賬號(hào)后申請(qǐng)開啟LBS 云服務(wù)功能,要使用LBS云服務(wù)必須申請(qǐng)密鑰。
2.1 密鑰應(yīng)用類型
選擇需要的應(yīng)用類型,對(duì)于后端申請(qǐng)服務(wù)端; 通過js 代碼就申請(qǐng)瀏覽器端。
2.2 勾選需要的服務(wù)
2.3 設(shè)置檢驗(yàn)方式和白名單
此處ip 地址格式輸錯(cuò)會(huì)有提示(以上是服務(wù)端配置)
瀏覽器端稍有不同
3. LBS 配額管理
百度針對(duì)LBS 云服務(wù)提供了一定的配額,超過免費(fèi)額度就要花錢去買
這個(gè)功能提供流量圖和余額明細(xì),管理起來還是很方便。一般測(cè)試開發(fā)和小規(guī)模試用是足夠了,這點(diǎn)百度還做的不錯(cuò)。
4. LBS 資料下載
百度提供了詳細(xì)的開發(fā)說明,可下載文檔和代碼例子
注意LBS 云分為云存儲(chǔ)和云檢索
云存儲(chǔ)是負(fù)責(zé)新建,刪除和修改表的類似數(shù)據(jù)庫的DML 語句,云檢索才是真正查詢數(shù)據(jù)的。
5. LBS 建表和插入數(shù)據(jù)
LBS 可以直接頁面上根據(jù)百度地圖插入數(shù)據(jù)
點(diǎn)擊左側(cè)
可以點(diǎn)右側(cè)創(chuàng)建按鈕新建表
1. 創(chuàng)建表名
2. 設(shè)置字段
LBS 的表中設(shè)置有默認(rèn)字段,除默認(rèn)字段也可手動(dòng)添加
3. 發(fā)布
如果要啟用,就勾選
2.添加信息
點(diǎn)擊表數(shù)據(jù)管理
根據(jù)十字星在地圖上選點(diǎn),然后填寫信息(一般經(jīng)度,緯度不用變)
保存后就進(jìn)數(shù)據(jù)存入
3. 后臺(tái)代碼調(diào)用
參考文檔
@Test
// 建立表geotable
public void demo1() throws ClientProtocolException, IOException {
// 1、創(chuàng)建httpClient 對(duì)象
HttpClient client = HttpClients.createDefault();
// 2、請(qǐng)求對(duì)象
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ā)送請(qǐng)求 HttpResponse httpResponse = client.execute(httpPost);
// 5、打印結(jié)果數(shù)據(jù)
HttpEntity httpEntity = httpResponse.getEntity();
System.out.println(EntityUtils.toString(httpEntity));
}
@Test
// 查詢表
public void demo2() throws ClientProtocolException, IOException {
// 1、創(chuàng)建httpClient 對(duì)象
HttpClient client = HttpClients.createDefault();
// 2、請(qǐng)求對(duì)象
HttpGet httpGet = new HttpGet("http://api.map.baidu.com/geodata/v3/geotable/list?ak=a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk");
// 3、發(fā)送請(qǐng)求
HttpResponse httpResponse = client.execute(httpGet);
// 4、打印結(jié)果數(shù)據(jù)
HttpEntity httpEntity = httpResponse.getEntity();
System.out.println(EntityUtils.toString(httpEntity));
}
@Test
// 查詢表
public void demo4() throws ClientProtocolException, IOException {
// 1、創(chuàng)建httpClient 對(duì)象
HttpClient client = HttpClients.createDefault();
// 2、請(qǐng)求對(duì)象
HttpGet httpGet = new HttpGet("http://api.map.baidu.com/geodata/v3/column/list?ak=a9F3QkTyeoyKAt2iR5irH2xRzWSBaqzk&geotable_id=191874");
// 3、發(fā)送請(qǐng)求
HttpResponse httpResponse = client.execute(httpGet);
// 4、打印結(jié)果數(shù)據(jù) HttpEntity httpEntity = httpResponse.getEntity();
System.out.println(EntityUtils.toString(httpEntity));
}
@Test
// 查詢表
public void demo5() throws ClientProtocolException, IOException {
// 1、創(chuàng)建httpClient 對(duì)象
HttpClient client = HttpClients.createDefault();
// 2、請(qǐng)求對(duì)象
HttpGet httpGet = new HttpGet("http://api.map.baidu.com/geodata/v3/poi/list?ak=a9F3QkTyeoyKAt2iR5irH2xR
zWSBaqzk&geotable_id=191874");
// 3、發(fā)送請(qǐng)求
HttpResponse httpResponse = client.execute(httpGet);
// 4、打印結(jié)果數(shù)據(jù)
HttpEntity httpEntity = httpResponse.getEntity();
System.out.println(EntityUtils.toString(httpEntity));
}
猜你喜歡
JVM內(nèi)存模型詳細(xì)介紹