摘要:需求是這樣的,手動滑動地圖停止后,直接獲取到當前地圖中心坐標的經緯度。今天代碼檢查的時候同事告訴我,可以通過直接拿到滑動結束之后的經緯度,測試之后發現果然可以。
需求是這樣的,手動滑動地圖停止后,直接獲取到當前地圖中心坐標的經緯度。
百度地圖給出了一個監聽事件:OnMapStatusChangeListener
該事件包含三個方法,分別是:onMapStatusChangeStart(地圖狀態改變開始時的地圖狀態)、onMapStatusChange( 當前地圖狀態)、onMapStatusChangeFinish(地圖狀態改變結束后的地圖狀態)
很顯然,我需要在最后一個方法中去實現,通過onMapStatusChangeFinish方法我可以獲取到MapStatus直接.toString拿到了一堆字符串,仔細分析發現包含了經緯度,而且里面的字段是用"n(換行)"隔開的,
不知道百度為什么會返回這種格式,返回json的多好,23333.
直接返回的格式如下:
"target lat: 39.914884096217335杠ntarget lng: 116.40388321804957杠ntarget screen x: 357杠ntarget screen y: 262杠nzoom: 13.108601,rotate: 0.0杠noverlook: 0.0杠n"
我需要的是經緯度,直接想到了截取字符串。
public void onMapStatusChangeFinish(MapStatus status) { String _str = status.toString(); String _regex = "target lat: (.*) target lng"; String _regex2 = "target lng: (.*) target screen x"; String _latitude = latlng(_regex, _str); String _longitude = latlng(_regex2, _str); System.out.println(_latitude+","+_longitude); }
private String latlng(String regexStr, String str) { Pattern pattern = Pattern.compile(regexStr); Matcher matcher = pattern.matcher(str); while (matcher.find()) { str = matcher.group(1); } return str; }
今天代碼檢查的時候同事告訴我,可以通過MapStatus直接拿到滑動結束之后的經緯度,測試之后發現果然可以。上面的方法使用起來在效率上肯定沒直接拿到的快。
代碼很簡單:
public void onMapStatusChangeFinish(MapStatus status) { LatLng _latLng = status.target; System.out.println(_latLng .latitude+","+_latLng.longitude); }
論仔細看懂api的重要性。切記
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66276.html
摘要:本篇文章已授權微信公眾號郭霖獨家發布老規矩先上圖最近沒有什么時間,后面項目再補上詳細說明百度地圖新增點聚合功能。百度地圖是把整個地球是按照一個平面來展開,并且通過墨卡托投影投射到坐標軸上面。上圖很明顯墨卡托投影把整張世界地圖投影成。 本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發布 老規矩先上圖最近 沒有什么時間,后面項目再補上詳細說明 showImg(https:/...
摘要:先上效果定位拖動定位定位動畫動畫結束顯示地址實現思路中心點不變,在百度地圖圖層上覆蓋自定義的定位布局拖動地圖時,隱藏地址顯示,定位標示落下來后顯示地址拿到百度地圖的拖動監聽拿到中心點經緯度,逆地理編碼即坐標轉地址具體實現布局在主界面布局上覆 先上效果: 定位+拖動定位 定位動畫 動畫結束顯示地址 showImg(https://segmentfault.com/img/bVbcQ8...
閱讀 3530·2021-11-23 10:10
閱讀 3292·2019-08-30 14:03
閱讀 2066·2019-08-30 13:09
閱讀 3392·2019-08-29 15:29
閱讀 1540·2019-08-29 11:23
閱讀 2002·2019-08-28 18:28
閱讀 2840·2019-08-26 13:34
閱讀 2168·2019-08-26 11:32