Как я могу установить конкретный значок на маркер в Xamarin GoogleMaps - PullRequest
0 голосов
/ 18 октября 2019

Я бы создал приложение для Android, где я мог бы показывать геоданные и другие вещи. Я реализую Android.Gms.Maps и заменил значок маркера по умолчанию для маркера на точку.

Я пробовал разные способы, но у меня ничего не получалось ... пожалуйста, помогите мне!

попытка 1: (открыть значок bmp по пути)

_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(34.8094, 12.7484))
        .SetTitle("Actual Position")
        .SetIcon(BitmapDescriptorFactory.FromPath("C:\\Users\\my.name\\source\\repos\\repo\\appName\\Resources\\drawable\\dot.bmp")));

сообщение об ошибке: не удалось декодировать изображение, должно быть растровое изображение

попытка 2: (я включил файл bmp в качестве встроенного ресурса)

_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(34.8094, 12.7484))
        .SetTitle("Actual Position")
        .SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.dot)));

сообщение об ошибке: приложение не скомпилировалось, но ошибка не отображается

попытка 3: (также в качестве ресурса)

var markerImg = BitmapDescriptorFactory.FromResource(Resource.Drawable.dot);

_myPositionMarker = _map.AddMarker(new MarkerOptions()
       .SetPosition(new LatLng(34.8094, 12.7484))
       .SetTitle("Actual Position")
       .SetIcon(markerImg));

сообщение об ошибке: приложение не скомпилировалось, но ошибка не отображается

ничего не получалось! Я понятия не имею, чтобы решить эту проблему: - /

, чтобы быть уверенным ...

_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(24.8094, 12.7484))
        .SetTitle("Actual Position")

... показывает маркер по умолчанию и приложение работает хорошо

Спасибо за помощь!

1 Ответ

1 голос
/ 18 октября 2019

Попытка 1 не будет работать, поскольку путь не указывает на путь на самом устройстве.

Попытка 2 и 3 должна работать, если Drawable не является DrawDable, основанным на VectorD или XML. Это должен быть JPG или PNG. Они также не могут быть встроенными ресурсами, но должны быть ресурсами Android, поэтому они должны находиться в соответствующей папке ресурсов и установить для Build Action значение AndroidResource.

Также обязательно добавляйте маркеры после карты. готов обратный вызов.

...