Полилинии нельзя удалить на карте.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Полилинии нельзя удалить на карте.

Сообщение Anonymous »


Я работаю над приложением для 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); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Полилинии нельзя удалить на карте.
    Anonymous » » в форуме Android
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Добавление указателей на ключи на карте на карте
    Anonymous » » в форуме C++
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Добавление эффекта наведения полилинии на пользовательскую линейную диаграмму — SVG/CSS
    Anonymous » » в форуме Jquery
    0 Ответы
    83 Просмотры
    Последнее сообщение Anonymous
  • Анимированные «точки» в «полилинии» (svg), похоже, имеют ограничение/ошибку в 512 на iOS (не на macOS).
    Anonymous » » в форуме CSS
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Анимированные «точки» в «полилинии» (svg), похоже, имеют ограничение/ошибку в 512 на iOS (не на macOS).
    Anonymous » » в форуме IOS
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»