1 簡介
百度地圖LBS雲是百度地圖針對LBS開發者全新推出的平臺級服務。
通過LBS雲,一方面解決移動開發者服務器端日益增長的海量位置數據的存儲維護壓力,另一方面徹底解決所有LBS開發者基於位置數據的高併發檢索瓶頸。
如何檢索開發者自己的數據?
1 數據存儲:首先開發者需要將待檢索數據存入LBS雲;(點擊瞭解詳情)
2調用:利用SDK爲開發者提供的接口檢索自己的數據;
3展示:開發者可根據自己的實際需求以多種形式展現自己的數據。
2 雲檢索
開發者在完成數據在LBS雲端的存儲之後,即可調用SDK搜索、計算自己在雲端的數據了。具體使用方法如下:
首先實例化GeoSearchListener接口:
@Override
public void onGetGeoDetailsResult(DetailResult result, int type, int iError)
{
if(result !=null){
if(result.content!=null){
Toast.makeText(MyMapActivity.this, result.content.name, Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(MyMapActivity.this, "status:" + result.status, Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onGetGeoResult(GeoSearchResult result, int type, int iError)
{
if(result !=null&&result.poiList!=null&&result.poiList.size() >0){
CloudOverlay poiOverlay = new CloudOverlay(this);
poiOverlay.setData(result.poiList);
mMapView.getOverlays().clear();
mMapView.getOverlays().add(poiOverlay);
mMapView.refresh ();
mMapView.getController().animateTo(new GeoPoint((int)(result.poiList.get(0).latitude * 1e6), (int)(result.poiList.get(0).longitude * 1e6)));
}
}
發起雲檢索請求:
BoundsSearchInfo r = new BoundsSearchInfo();
r.queryWords = "五中";
r.ak = "輸入你的ak"; // 注意:此處的ak並不是您申請的android開發的key,這個是LBS雲服務的AK
r.bounds = new Bounds(39843895, 116402214, 40956948, 116431457);
r.filter.put("databox", 848);
r.scope = 2;
GeoSearchManager.getInstance().searchBounds(r);
// 當請求成功時,會回調onGetGeoResult函數,執行打點操作。
CloudOverlay poiOverlay = new CloudOverlay(this);
poiOverlay.setData(result.poiList);
mMapView.getOverlays().clear();
mMapView.getOverlays().add(poiOverlay);
mMapView.refresh();
運行結果如下:
更多詳細信息請登錄百度地圖API官方網站:http://developer.baidu.com/map/
百度地圖API論壇:http://bbs.lbsyun.baidu.com/