java - 高德地圖平滑移動問題
問題描述
public void startMove() { LatLngBounds.Builder b = LatLngBounds.builder(); for (int i = 0; i < latLngs.size(); i++) {b.include(latLngs.get(i)); } LatLngBounds bounds = b.build(); mAMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 100)); // 取軌跡點的第一個點 作為 平滑移動的啟動 LatLng drivePoint = latLngs.get(0); Pair<Integer, LatLng> pair = SpatialRelationUtil.calShortestDistancePoint(latLngs, drivePoint); latLngs.set(pair.first, drivePoint); final List<LatLng> subList = latLngs.subList(pair.first, latLngs.size()); // 設置軌跡點 smoothMarker.setPoints(subList); // 設置平滑移動的總時間 單位 秒 smoothMarker.setTotalDuration(100); // 開始移動 smoothMarker.startSmoothMove(); // 設置移動的監聽事件 返回 距終點的距離 單位 米 smoothMarker.setMoveListener(new SmoothMoveMarker.MoveListener() {@Overridepublic void move(final double distance) {runOnUiThread(new Runnable() {@Overridepublic void run() {} });} });}
// 我這邊需要實現歷史軌跡,并且顯示跑的路線,線已經畫好,這是啟動跑起來的方法。
這邊需要同時顯示速度,速度拿到全部點的速度的集合了,但是無法對應起來。有沒有什么解決方法可以到某個點的時候實時顯示當前的速度的回調或者方法。另求助實時獲取經緯度后如何實時地圖顯示的方法。 高德地圖
問題解答
回答1:在 smoothMarker.setMoveListener 這個監聽中可以 用到getIndex獲取到當前隊列的下標,所以可以根據下標獲取到當前速度并設置
相關文章:
1. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?2. javascript - 怎樣限制同一個瀏覽器不能登錄兩個賬號3. nginx配置server模塊的問題4. java - android代碼重構:如何把app設置里的頭像UI做成通用的?5. 想找個php大神仿個網站。6. java - 新手做一個安卓視頻播放器,想實現一個進度條,按鈕那種在視頻下方懸浮的功能,不知道思路!7. javascript - angular和jquery都用到了$符號,一起用會不會沖突?8. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決9. mysql優化 - 關于mysql分區10. 如何將行內塊元素的內容垂直水平兩個方向居中?
