Многоугольник не показывает цвет заливки

На моей карте есть точки, которые я могу перетаскивать по карте, чтобы изменить расположение точек многоугольника. Когда маркер перемещается, я получаю полигон, который редактирую, из класса, который отслеживает все элементы моей карты, удаляю его с карты и строю новый полигон с обновленными местоположениями.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я перемещаю точку с одной стороны многоугольника на другую, цвет заливки исчезает, пока я не переместлю 2 другие точки.

Пример

введите здесь описание изображения

Результат

введите здесь описание изображения

Это что-то, что я делаю неправильно, или это ошибка в API?

вот часть моего кода в onMarkerDragEnd

String[] ary = marker.getSnippet().split("\\?");
        MapElement elem = mapElements.get(Long.parseLong(ary[0]));
        ArrayList<LatLng> polyPoints = elem.getLocationArray();
        polyPoints.set(Integer.parseInt(ary[1]), marker.getPosition());

    Polygon old = elem.getPolygon();
    Polygon p = map.addPolygon(new PolygonOptions().fillColor(0x500011FF).strokeColor(0x50444444)
        .strokeWidth(4).addAll(polyPoints));

    elem.setPolygon(p);

    old.remove();

в основном фрагмент маркера содержит позицию точки в массиве местоположений, а затем я получаю эту позицию из массива и обновляю ее новой позицией маркера.


person tyczj    schedule 26.04.2013    source источник


Ответы (1)


Похоже, вы используете google-play-services v4, поскольку "вершины многоугольника теперь могут быть упорядочены по часовой стрелке или против часовой стрелки." (исправлено в v5).

Обновите google-play-services в Android SDK Manager и снова импортируйте проект lib. Также на вашем устройстве должен быть установлен Google Play Services APK версии 3.0.25 или выше.

person MaciejGórski    schedule 26.04.2013
comment
Я на 99,9% уверен, что проблема не в этом, потому что я не начинал этот проект, пока эта опция не стала доступной. Я наношу многоугольники на карту также, нажимая на карту и добавляя новую точку к PolygonOptions при каждом щелчке, затем удаляя старый многоугольник и создавая новый для отображения. - person tyczj; 28.04.2013
comment
@tyczj Вы можете добавить туда 0,01%, если просто заглянете в манифест google-play-services_lib, который вы используете, и сведения о приложении сервисов Google Play на вашем устройстве. Я не начинал этот проект, пока этот вариант не был доступен. Какой вариант? - person MaciejGórski; 28.04.2013
comment
Да, на моем устройстве установлена ​​версия 3.0.27, и у меня загружена последняя версия google play services. То, что я имел в виду, я не начинал этот проект, пока этот вариант не был доступен. была возможность строить полигоны по часовой стрелке или против часовой стрелки - person tyczj; 29.04.2013