Полилинии нельзя удалить на карте. ⇐ JAVA
Полилинии нельзя удалить на карте.
Я работаю над приложением для Android, которое использует Android API Google Maps, и у меня возникли проблемы с удалением полилиний с карты. Я реализовал добавление полилиний в диалоговое окно и хочу удалить отображаемую в данный момент полилинию при нажатии кнопки «Очистить». Однако ломаная линия не удаляется должным образом.
Описание проблемы:
У меня есть диалоговое окно, в котором отображается карта Google с ломаной линией при выборе определенного маршрута. Вот обзор структуры кода:
Я создаю и отображаю на карте диалог с полилинией выбранного маршрута. У меня есть кнопка «Очистить» (clearRouteBtn) в диалоговом окне, которая должна удалить отображаемую полилинию с карты. Полилинии, которые я использую
Проблема:
Проблема в том, что когда я нажимаю кнопку «Очистить», ломаная линия не удаляется с карты, хотя я использую PolylineView.remove();. В сообщении журнала указано, что ломаная линия удалена, но остается видимой на карте.
Что я пробовал:
Я попробовал добавить сообщения журнала, чтобы убедиться, что PolylineView не равен нулю. Я также убедился, что прослушиватель кликов кнопки настроен правильно. Ожидаемое поведение:
Когда я нажимаю кнопку «Очистить», я ожидаю, что отображаемая в данный момент полилиния будет удалена с карты.
Фактическое поведение:
Полилиния не удаляется с карты при нажатии кнопки «Очистить».
Дополнительная информация:
Приложение использует API Google Maps для Android. Полилиния добавляется с помощью PolylineView = mMap.addPolyline(polylineOptions);. Видимость кнопки «Очистить» изначально установлена на НЕВИДИМЫЙ
Будем очень признательны за любые предложения или идеи по решению этой проблемы.
общедоступная ломаная линия currentPolyline; общедоступная полилиния PolylineView;
Здесь расположены вторая полилиния и моя кнопка очистки
Кнопка buttonOkay = диалогView.findViewById(R.id.button); buttonOkay.setOnClickListener(new View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { для (AlertDialog openDialog: openDialogs) { if ("RouteForBalibagoHighway".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForBalibagoHighway PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForBalibagoHighway) .ширина(8) .color(jeep_grey); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForBalibagoHolyHighway".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForBalibagoHolyHighway PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForBalibagoHolyHighway) .ширина(8) .color(jeep_purple); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForVillaPampang".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForVillaPampang) .ширина(8) .color(jeep_yellow); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForSapangBato".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForSapangBato) .ширина(8) .color(Цвет.КРАСНЫЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForPandan".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForPandan) .ширина(8) .color(Цвет.СИНИЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " +ПолилинияВид); }else if ("RouteForMaingate".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForMaingate) .ширина(8) .color(джип_коричневый); PolylineView = mMap.addPolyline(polylineOptions); }else if ("RouteForSunset".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForSunset) .ширина(8) .color(jeep_orange); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForHenson".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForHenson) .ширина(8) .color(джип_белый); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForMarisolPampang".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForMarisolPampang) .ширина(8) .color(Цвет.ЗЕЛЕНЫЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForCapaya".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForCapaya) .ширина(8) .color(jeep_pink); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } // ЗДЕСЬ Я ПОСТАВИЛ КНОПКУ ОЧИСТИТЬ clearRouteBtn.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { если (PolylineView!= ноль) { ПолилинияView.remove(); Log.d("Отладка", "Удалено: " + PolylineView); } еще { // Обрабатываем случай, когда полилинию добавить невозможно } } }); // После добавления полилинии делаем видимой кнопку очистки ClearRouteBtn.setVisibility(View.VISIBLE); скидкаApplied = ложь; // Отмечаем скидку как примененную openDialog.dismiss(); } } }); } еще { Log.e(TAG, "Для пользовательского маршрута не найден ресурс макета: " + customRouteLabel); } }
Я работаю над приложением для Android, которое использует Android API Google Maps, и у меня возникли проблемы с удалением полилиний с карты. Я реализовал добавление полилиний в диалоговое окно и хочу удалить отображаемую в данный момент полилинию при нажатии кнопки «Очистить». Однако ломаная линия не удаляется должным образом.
Описание проблемы:
У меня есть диалоговое окно, в котором отображается карта Google с ломаной линией при выборе определенного маршрута. Вот обзор структуры кода:
Я создаю и отображаю на карте диалог с полилинией выбранного маршрута. У меня есть кнопка «Очистить» (clearRouteBtn) в диалоговом окне, которая должна удалить отображаемую полилинию с карты. Полилинии, которые я использую
Проблема:
Проблема в том, что когда я нажимаю кнопку «Очистить», ломаная линия не удаляется с карты, хотя я использую PolylineView.remove();. В сообщении журнала указано, что ломаная линия удалена, но остается видимой на карте.
Что я пробовал:
Я попробовал добавить сообщения журнала, чтобы убедиться, что PolylineView не равен нулю. Я также убедился, что прослушиватель кликов кнопки настроен правильно. Ожидаемое поведение:
Когда я нажимаю кнопку «Очистить», я ожидаю, что отображаемая в данный момент полилиния будет удалена с карты.
Фактическое поведение:
Полилиния не удаляется с карты при нажатии кнопки «Очистить».
Дополнительная информация:
Приложение использует API Google Maps для Android. Полилиния добавляется с помощью PolylineView = mMap.addPolyline(polylineOptions);. Видимость кнопки «Очистить» изначально установлена на НЕВИДИМЫЙ
Будем очень признательны за любые предложения или идеи по решению этой проблемы.
общедоступная ломаная линия currentPolyline; общедоступная полилиния PolylineView;
Здесь расположены вторая полилиния и моя кнопка очистки
Кнопка buttonOkay = диалогView.findViewById(R.id.button); buttonOkay.setOnClickListener(new View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { для (AlertDialog openDialog: openDialogs) { if ("RouteForBalibagoHighway".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForBalibagoHighway PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForBalibagoHighway) .ширина(8) .color(jeep_grey); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForBalibagoHolyHighway".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForBalibagoHolyHighway PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForBalibagoHolyHighway) .ширина(8) .color(jeep_purple); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForVillaPampang".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForVillaPampang) .ширина(8) .color(jeep_yellow); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } else if ("RouteForSapangBato".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForSapangBato) .ширина(8) .color(Цвет.КРАСНЫЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForPandan".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForPandan) .ширина(8) .color(Цвет.СИНИЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " +ПолилинияВид); }else if ("RouteForMaingate".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForMaingate) .ширина(8) .color(джип_коричневый); PolylineView = mMap.addPolyline(polylineOptions); }else if ("RouteForSunset".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForSunset) .ширина(8) .color(jeep_orange); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForHenson".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForHenson) .ширина(8) .color(джип_белый); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForMarisolPampang".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForMarisolPampang) .ширина(8) .color(Цвет.ЗЕЛЕНЫЙ); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); }else if ("RouteForCapaya".equals(customRouteLabel)) { // Обработка нажатия кнопки «ОК» для RouteForVillaPampang PolylineOptions polylineOptions = новые PolylineOptions() .addAll(customRouteForCapaya) .ширина(8) .color(jeep_pink); PolylineView = mMap.addPolyline(polylineOptions); Log.d("Отладка", "PolylineView: " + PolylineView); } // ЗДЕСЬ Я ПОСТАВИЛ КНОПКУ ОЧИСТИТЬ clearRouteBtn.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { если (PolylineView!= ноль) { ПолилинияView.remove(); Log.d("Отладка", "Удалено: " + PolylineView); } еще { // Обрабатываем случай, когда полилинию добавить невозможно } } }); // После добавления полилинии делаем видимой кнопку очистки ClearRouteBtn.setVisibility(View.VISIBLE); скидкаApplied = ложь; // Отмечаем скидку как примененную openDialog.dismiss(); } } }); } еще { Log.e(TAG, "Для пользовательского маршрута не найден ресурс макета: " + customRouteLabel); } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Добавление эффекта наведения полилинии на пользовательскую линейную диаграмму — SVG/CSS
Anonymous » » в форуме Jquery - 0 Ответы
- 83 Просмотры
-
Последнее сообщение Anonymous
-