Маркеры карты масштаба от Zoom, Android - PullRequest
7 голосов
/ 19 августа 2010

У меня на карте много маркеров. Увеличение каждого маркера показывает мне позицию. но уменьшение маркеров перекрывает друг друга, и определить местоположение маркера сложнее.

Есть ли способ масштабирования изображения маркера в зависимости от коэффициента масштабирования?

Ответы [ 3 ]

5 голосов
/ 19 августа 2010

Зависит от того, как вы рисуете маркер. Если ваш маркер - просто растровое изображение, просто используйте matrix.postScale()

Matrix matrix = new Matrix();
matrix.postScale(2f, 2f); // douple the size
canvas.drawBitmap(mBitmap, matrix, mPaint);
2 голосов
/ 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 для получения дополнительной информации

1 голос
/ 28 июня 2017

Простая форма.

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