大疆社区

标题: 地图怎么恢复正北方向 [打印本页]

作者: 小小诺    时间: 2021-4-18
标题: 地图怎么恢复正北方向
本帖最后由 小小诺 于 2021-4-18 22:19 编辑

旋转地图后,想通过点击一个ImageView来实现地图恢复正北方向的功能。

mapCompass.setListener(v -> {
    DJICameraPosition cameraPosition = mapWidget.getMap().getCameraPosition();
    DJICameraUpdate cameraUpdate = new DJICameraUpdate() {
        @Override
        public DJICameraPosition getCameraPosition(@NonNull DJIMap djiMap) {
            return new DJICameraPosition(cameraPosition.target, cameraPosition.zoom, cameraPosition.tilt, 0.0f);
        }

        @Override
        public DJILatLng getTarget() {
            return cameraPosition.target;
        }

        @Override
        public float getZoom() {
            return cameraPosition.zoom;
        }

        @Override
        public float getTilt() {
            return cameraPosition.tilt;
        }

        @Override
        public float getBearing() {
            return 0.0f;
        }
    };
    new Runnable() {
        @Override
        public void run() {
            mapWidget.getMap().moveCamera(cameraUpdate);
        }
    };
});

可是并没有实现,在上述第一行代码添加断点调试,可以获得有效的DJICameraPosition,可是无论是用moveCamera()还是animateCamera()都未能恢复正北,并且视图中心还跑到另一个地方去了。
有哪位高手可以帮忙指点迷津,拜谢






作者: 小小诺    时间: 2021-4-22
我利用这行代码实现恢复正北方向:

mapWidget.getMap().animateCamera(new DJICameraUpdateFactory.CameraPositionUpdate(cameraPosition.target, cameraPosition.zoom, cameraPosition.tilt, 0.0f));




欢迎光临 大疆社区 (https://bbs.dji.com/) Powered by Discuz! X3.2