| | |
| | | GupdateTime = String.valueOf(System.currentTimeMillis()); |
| | | |
| | | updateRelativeCoordinates(latitudeValue, latitudeHemisphere, longitudeValue, longitudeHemisphere); |
| | | |
| | | // 串口收到GNGGA数据后,触发拖尾更新 |
| | | notifyMowerTrailUpdate(); |
| | | } |
| | | |
| | | /** |
| | | * 通知地图渲染器更新割草机拖尾 |
| | | * 当串口收到GNGGA数据并更新位置后调用 |
| | | */ |
| | | private void notifyMowerTrailUpdate() { |
| | | try { |
| | | // 通过Shouye.getInstance()获取实例,避免循环依赖 |
| | | zhuye.Shouye shouye = zhuye.Shouye.getInstance(); |
| | | if (shouye != null) { |
| | | zhuye.MapRenderer mapRenderer = shouye.getMapRenderer(); |
| | | if (mapRenderer != null) { |
| | | // 调用更新拖尾方法 |
| | | mapRenderer.forceUpdateIdleMowerTrail(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // 如果调用失败,静默处理(不影响主要功能) |
| | | // System.err.println("通知拖尾更新失败: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | private void updateRelativeCoordinates(String latValue, String latHemisphere, |