java - 高德地圖平滑移動(dòng)問題
問題描述
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)); // 取軌跡點(diǎn)的第一個(gè)點(diǎn) 作為 平滑移動(dòng)的啟動(dòng) 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()); // 設(shè)置軌跡點(diǎn) smoothMarker.setPoints(subList); // 設(shè)置平滑移動(dòng)的總時(shí)間 單位 秒 smoothMarker.setTotalDuration(100); // 開始移動(dòng) smoothMarker.startSmoothMove(); // 設(shè)置移動(dòng)的監(jiān)聽事件 返回 距終點(diǎn)的距離 單位 米 smoothMarker.setMoveListener(new SmoothMoveMarker.MoveListener() {@Overridepublic void move(final double distance) {runOnUiThread(new Runnable() {@Overridepublic void run() {} });} });}
// 我這邊需要實(shí)現(xiàn)歷史軌跡,并且顯示跑的路線,線已經(jīng)畫好,這是啟動(dòng)跑起來的方法。
這邊需要同時(shí)顯示速度,速度拿到全部點(diǎn)的速度的集合了,但是無法對應(yīng)起來。有沒有什么解決方法可以到某個(gè)點(diǎn)的時(shí)候?qū)崟r(shí)顯示當(dāng)前的速度的回調(diào)或者方法。另求助實(shí)時(shí)獲取經(jīng)緯度后如何實(shí)時(shí)地圖顯示的方法。 高德地圖
問題解答
回答1:在 smoothMarker.setMoveListener 這個(gè)監(jiān)聽中可以 用到getIndex獲取到當(dāng)前隊(duì)列的下標(biāo),所以可以根據(jù)下標(biāo)獲取到當(dāng)前速度并設(shè)置
相關(guān)文章:
1. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場景下 ,會(huì)帶來哪些效率或者其他方面的好處2. 圖片鏈接的地址怎么獲得的3. python - 我在使用pip install -r requirements.txt下載時(shí),為什么部分能下載,部分不能下載4. mysql - 如何減少使用或者不用LEFT JOIN查詢?5. mysql - jdbc的問題6. mysql - eclispe無法打開數(shù)據(jù)庫連接7. mysql 5個(gè)left關(guān)鍵 然后再用搜索條件 幾千條數(shù)據(jù)就會(huì)卡,如何解決呢8. 視頻文件不能播放,怎么辦?9. mysql - 千萬級數(shù)據(jù)的表,添加unique約束,insert會(huì)不會(huì)很慢?10. html5 - H5 audio 微信端 在IOS上不能播放音樂
