2016-07-20 3 views
0

Создание пользовательского наложения специально для круга с радиусом (цветным) в Android MapBox GL. Он позволяет динамически изменять радиус с помощью кнопки поиска.Построение пользовательского наложения специально для круга с радиусом (цветным) в Android MapBox GL

Я пытаюсь создать некоторые пользовательские маркеры, и я использовал SimpleCircleView, но у меня возникла проблема с отображением его в Android-браузере MapBox GL, и он создал множество ошибок.

  1. Событие Карта прикосновения не реагирует, как только мой CircleOverlay отображается на карте
  2. The Marker оленья кожа оставаться в своих координатах когда я штобы, Отдалиться.
  3. Обновление маркеров не работает, поэтому я должен удалить, а затем добавить маркер.
  4. Цвет не соответствует цвету, который я установил в маркере.

Я ограничу свое сообщение по коду, потому что это репо мое и чтобы проблема была понятной.

При создании пользовательского наложения я должен сделать эти классы:

  1. CircleMarkerView.java - Обычай Маркер Просмотр
  2. [CircleMarkerViewOptions.java] (https://github.com/spurdow/SimpleCircleView/blob/master/app/src/main/java/com/spurdow/circleviewtest/CircleMarkerViewOptions.java) - Это должно быть использовано с CircleMarkerView
  3. SimpleCircleView.java - Это мой пользовательский вид для изменения динамического круга радиуса и т. Д.
  4. MainActivityMapBox - Здесь все, чтобы положить все

Это пример кода в репо.

enter image description here

Кто-нибудь есть идеи, как сделать это просто? Или Есть ли другой способ построения наложения динамически? Или Возможно ли создать круговое растровое изображение динамически и преобразовать его в значок, когда прогресс поисковой системы меняется?

ответ

1

1. Событие Карта прикосновения не реагирует, как только мой CircleOverlay отображается на карте
Это вопрос, который мы планируем обратиться к следующему релизу, вы можете следить за ходом на этой here.

2. Маркер не остается в своих координатах после того, как я увеличил масштаб и уменьшил масштаб.
Возможно, потому, что вы не привязываете значок маркера правильно, используя .setAnchor(), или ваш значок имеет прописку вокруг него. Для круга вам нужно привязать центрированное (используя 0.5f). Ошибка была введена непосредственно перед предыдущей стабильной версией, которая вызывает anchoring not to work correctly. Если это проблема, используйте 4.2.0-SNAPSHOT.

3. Обновление маркеров не работает, поэтому я должен удалить, а затем добавить маркер. Не могли бы вы подробнее остановиться на этом вопросе?Вы можете использовать

Marker marker = mapboxMap.addMarker(new MarkerViewOptions()... 

Когда вы должны использовать:

MarkerView marker = mapboxMap.addMarker(new MarkerViewOptions()... 

Что даст вам больше возможностей для обновления маркеров.

4. Цвет не соответствует цвету, установленному множителем.
Не могли бы вы пояснить, что вы имеете в виду?

Похоже, вы хотите сделать то, что делает этот пример в testapp? Я буду следовать вместе с кодом, найденным там.

+0

на номер 3. Потому что мне нужно обновить радиус маркера, но он не обновляется, когда я обновляю «MarkerView», поэтому мне нужно удалить и добавить его снова. – david

+0

Возможно, что он исправит мою проблему testapp, но Im все еще на процессе изучения того, как заставить изображение динамически меняться через время выполнения. Но на данный момент я собираюсь ждать наложения. Я тот, кто отправил вам по электронной почте и на github. Спасибо за ваш ответ – david