Android Google Maps V2 меняет значок моего местоположения
Я использую пользовательский значок в своем приложении для текущего местоположения пользователя и хочу сохранить его таким образом при обновлении до новой библиотеки Google Maps.
В библиотеке Google Maps v1 я расширил MyLocationOverlay и перезаписал метод drawMyLocation, чтобы нарисовать свой пользовательский значок там.
GoogleMap позволяет текущее местоположение с помощью метода setMyLocationEnabled, но нет способа его настроить, насколько я знаю.
Кто-нибудь знает, как это сделать на v2?
Ответы
Ответ 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)));