Добрый день, ребята,
После успешного установления соединения (в MainActivity.java ) с дроном (получение его имени модели и включение кнопки открытия) я открываю новое действие ( LocationActivity.java *). 1006 *) где я должен отобразить местоположение самолета ( модель: M210 ) в сообщении Toast.
Что я получаю в сообщении: Lat / Lng = NaN / NaN
private FlightController mFlightController;
private double mDroneLocationLat;
private double mDroneLocationLng;
В методе onCreate () я создал широковещательный приемник:
IntentFilter filter = new IntentFilter();
filter.addAction(FPVDemoApplication.FLAG_CONNECTION_CHANGE);
registerReceiver(mReceiver, filter);
FPVDemoApplication - это Java-файл, в котором конструктор DJI написал несколько кодов + создал отправителя Broadcast. Вы можете найти его на Github.
Тогда:
protected BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
onProductConnectionChange();
}
};
private void onProductConnectionChange()
{
initFlightController();
}
В методе initFlightController () я использую следующие коды для определения местоположения самолета: getFlightController () и getAircraftLocation () .
BaseProduct product = FPVDemoApplication.getProductInstance();
if (product != null && product.isConnected()) {
if (product instanceof Aircraft) {
mFlightController = ((Aircraft) product).getFlightController();
}
}
// Getting Aircraft
// ================
if (mFlightController != null) {
mFlightController.setStateCallback(
new FlightControllerState.Callback() {
@Override
public void onUpdate(FlightControllerState
djiFlightControllerCurrentState) {
mDroneLocationLat = djiFlightControllerCurrentState.getAircraftLocation().getLatitude();
mDroneLocationLng = djiFlightControllerCurrentState.getAircraftLocation().getLongitude();
}
}
);
}
-
Вопросы:
- Я забыл использовать некоторые методы для определения местоположения самолета?
Какие разрешения мне нужны для доступа к информации о местонахождении самолета в Manifest.xml или другом файле Java?
Поскольку мой самолет находится в кабинете, нужно ли мне выходить на улицу, чтобы узнать его местоположение (согласно этой теме )?
Вот дерево структуры: