Масштабирование маркеров Android MapView, когда пользователь увеличивает / уменьшает - PullRequest
4 голосов
/ 31 августа 2010

Я видел несколько вопросов по этому поводу, но нет четких ответов.

У меня есть MapView, который может генерировать до 1600 местоположений на карте в зависимости от того, насколько пользователь увеличил или уменьшил масштаб.На данный момент у меня просто установлен маркер на рисование в моем приложении.Как я могу определить, был ли пользователь увеличен или уменьшен, а затем масштабировать маркер соответственно.Я не касаюсь части масштабирования, а части прослушивания с увеличением.Кто-нибудь разработал решение этой маленькой проблемы или может указать мне правильное направление для создания моего собственного?

Кроме того, насколько я знаю, нет маркера по умолчанию, который поставляет Android.Я прав по этому поводу?Было бы неплохо, если бы в Android был встроенный маркер, который обрабатывает масштабирование на основе уровней масштабирования.

Ответы [ 3 ]

1 голос
/ 04 апреля 2011

Вот ветка о событиях масштабирования, которая должна вам помочь: О событии масштабирования

надеюсь, это поможет

0 голосов
/ 28 июня 2017

Я использую

LatLng latLng = new LatLng(-16.50881576338701,-68.13492067606603);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.raw.ic_car_1);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap); 
        googleMap.addGroundOverlay(new GroundOverlayOptions()
             .image(bitmapDescriptor)
             .position(latLng,100));

Документы в Документы Google Maps GroundOverlayOptions

0 голосов
/ 13 декабря 2013

Маркеры не меняют размер в зависимости от масштаба.Используйте GroundOverlays, если вы хотите этот эффект. src

 GoogleMap map = ...; // get a map.
 BitmapDescriptor image = ...; // get an image.
 LatLngBounds bounds = ...; // get a bounds
 // Adds a ground overlay with 50% transparency.
 GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
     .image(image)
     .positionFromBounds(bounds)
     .transparency(0.5));

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

См. Связанный пост: Маркеры карты масштаба от Zoom, Android

...