android地图选点,【百度地图】Android实现地图展示、定位、选点、地点查询和地点模糊查询功能...
1、集成百度地圖sdk
請查看百度地圖開放平臺,這里有很詳細的教程。
2、地圖展示功能
將地圖控件放入到當前頁面的布局中即可,如下:
MapView
在頁面代碼中,通過id獲取到MapView的對象,再MapView的getMap()方法,可以獲取到BaiduMap的對象,可以通過這個對象設置地圖的縮放級別。
示例代碼如下:
displayMap
注意:MapView應該在activity的onDestroy()方法中調用其destroy()方法。
3、定位功能
定位功能主要涉及到2個類和1個回調接口,即:LocationClient、LocationClientOption和BDLocationListener。
簡單介紹一下:
LocationClient類:可以通過這個類的對象,調用start()方法,來定位到當前位置,調用stop()方法,來停止定位。
LocationClientOption類:用來設置一系列的參數,對LocationClient進行配置(用LocationClient調用setLocOption()方法)。
BDLocationListener接口:可以將這個接口設置給LocationClient類(用LocationClient調用registerLocationListener()方法),就可以在這個監聽中,獲取到定位的信息。
示例代碼如下:
定位模塊
4、選點功能
這個功能涉及到BaiduMap類、BitmapDescriptor類和OverlayOptions類。
首先,在MapView的clickable屬性為true的情況下,通過BaiduMap類,對其設置點擊監聽。
然后在監聽中,將覆蓋物設置到所選的點上。
示例代碼如下:
setOverlay
注意:覆蓋物的bitmap不要在每次使用時都重新獲取,只需在onCreate中初始化一次即可,否則會導致性能問題。
5、地點查詢
這個功能主要涉及到GeoCoder類和OnGetGeoCoderResultListener接口。
GeoCoder類通過newInstance()方法來獲取對象。
它的對象可以通過調用setOnGetGeoCodeResultListener方法來設置監聽。
并且可以通過geocode方法來進行地點查詢(即獲取其坐標),和通過reverseGeoCode方法來進行反向查詢(即通過坐標來獲取地點)。
示例代碼如下:
geoCoder
注意:GeoCoder應該在activity的onDestroy()方法中調用其destroy()方法。
6、地點模糊查詢
這個功能主要涉及到SuggestionSearch類和OnGetSuggestionResultListener接口。
SuggestionSearch類通過newInstance()方法來獲取對象。
它的對象可以通過調用setOnGetSuggestionResultListener方法來設置監聽。
并且可以通過requestSuggestion方法來進行地點查詢,這里獲取到的是SuggestionResult對象,可以通過其getAllSuggestions()
方法來獲取到查詢的列表等信息。
示例代碼如下:
suggestionSearch
注意:SuggestionSearch應該在activity的onDestroy()方法中調用其destroy()方法。
總結
以上是生活随笔為你收集整理的android地图选点,【百度地图】Android实现地图展示、定位、选点、地点查询和地点模糊查询功能...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习项目实战——02回归算法之葡萄酒
- 下一篇: 用牛顿迭代法求方程2x^3-4x^2+3