Подтвердить что ты не робот

Android Google Maps V2 меняет значок моего местоположения

Я использую пользовательский значок в своем приложении для текущего местоположения пользователя и хочу сохранить его таким образом при обновлении до новой библиотеки Google Maps.

В библиотеке Google Maps v1 я расширил MyLocationOverlay и перезаписал метод drawMyLocation, чтобы нарисовать свой пользовательский значок там.

GoogleMap позволяет текущее местоположение с помощью метода setMyLocationEnabled, но нет способа его настроить, насколько я знаю.

Кто-нибудь знает, как это сделать на v2?

4b9b3361

Ответ 1

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

private Marker marker = mMap.addMarker(new MarkerOptions()
                    .position( latLng)
                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));

Спасибо всем

Ответ 2

Создайте маркер в конструкторе карты, который использует пользовательский значок.

_myLocation = mMap.addMarker(new MarkerOptions()
                      .position(MAP_CENTER)
                      .title("My Location")
                      .icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation)));

Внедрение прослушивателя с измененным местоположением, https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener

Обновить местоположение маркера при вызове провайдера:

public void onLocationChanged (Location location)
{
    _myLocation.position(location); //May have to convert from location to LatLng
}

Ответ 3

Определенный способ показать пользовательский значок в текущем местоположении. Оформить заказ Ссылка вы получите больше информации, чтобы настроить свой значок на карте.

Попробуйте выполнить приведенный ниже код:

 private static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298);
 private Marker melbourne = mMap.addMarker(new MarkerOptions()
                        .position(MELBOURNE)
                        .title("Melbourne")
                        .snippet("Population: 4,137,400")
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));