通过Zoom,Android缩放地图标记

时间:2010-08-19 07:08:43

标签: android zoom android-mapview google-maps-markers

我的地图上有很多标记。缩放每个标记显示我的位置。但是缩小标记彼此重叠,确定标记的位置更加困难。

有没有办法根据缩放系数缩放标记图像?

3 个答案:

答案 0 :(得分:5)

取决于您如何绘制标记。如果您的标记只是位图/绘图,只需使用matrix.postScale()

即可
Matrix matrix = new Matrix();
matrix.postScale(2f, 2f); // douple the size
canvas.drawBitmap(mBitmap, matrix, mPaint);

答案 1 :(得分:2)

标记不会根据缩放更改大小。如果您需要此效果,请使用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

答案 2 :(得分:1)

一个简单的形式是。

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