张世豪
9 小时以前 ed6936545d20cc490145d2936cee4387be2afd53
src/gecaoji/Gecaoji.java
@@ -49,6 +49,11 @@
    }
    public void refreshFromDevice() {
        // 检查是否正在导航预览模式,如果是则不更新位置
        if (isNavigating()) {
            return;
        }
        Device device = Device.getGecaoji();
        if (device == null) {
            positionValid = false;
@@ -70,6 +75,22 @@
        headingDegrees = heading;
    }
    /**
     * 检查是否正在导航预览模式
     * @return 如果正在导航预览返回true,否则返回false
     */
    private boolean isNavigating() {
        try {
            dikuai.daohangyulan nav = dikuai.daohangyulan.getInstance();
            if (nav != null) {
                return nav.isNavigating();
            }
        } catch (Exception e) {
            // 如果获取导航实例失败,返回false(不影响主要功能)
        }
        return false;
    }
    private void ensurePosition() {
        if (position == null) {
            position = new Point2D.Double();