dji-sdk / Mobile-UXSDK-Beta-Android

Mobile Android UXSDK Beta
MIT License
96 stars 55 forks source link

Map Widget使用google地图时,坐标有偏移 #45

Open luoyexk opened 2 years ago

luoyexk commented 2 years ago

当坐标定位在美国时,Google map上显示的marker和真实坐标不匹配

切换到mapbox后,地图上显示的marker位置正确

测试坐标 38.9334361,-77.4063494

任意机型

在Demo里测试天安门前的国旗的经纬度 39.905592, 116.391314,在Google map上显示位置正确

luoyexk commented 2 years ago

测试坐标 38.9334361,-77.4063494

这是在网页上的定位 image

这是选择Google Maps进入界面后的定位 image

这是选择Mapbox进入界面后的定位 image

luoyexk commented 2 years ago

在onMapReady时调用如下代码创建marker,发现marker位置正确,但是控件标记的无人机位置是错误的

KeyManager.getInstance().getValue(FlightControllerKey.create(FlightControllerKey.AIRCRAFT_LOCATION), object : GetCallback {
                override fun onSuccess(p0: Any) {
                    runOnUiThread {
                        val latLng = (p0 as LocationCoordinate3D).run { LatLng(latitude, longitude) }
                        Timber.d("zzzz get location suc: ${latLng.latitude},${latLng.longitude}")
                        (map.map as GoogleMap).addMarker(MarkerOptions()
                            .position(latLng)
                            .icon(BitmapDescriptorFactory.defaultMarker())
                        )
                    }
                }
                override fun onFailure(p0: DJIError) {
                    Timber.d("zzzz get location error: $p0")
                }
            })

image