我的地图上有很多标记。放大每个标记会显示一个位置。但是缩小标记相互重叠,确定标记的位置更加困难。
有没有办法根据缩放因子缩放标记图像?
我的地图上有很多标记。放大每个标记会显示一个位置。但是缩小标记相互重叠,确定标记的位置更加困难。
有没有办法根据缩放因子缩放标记图像?
取决于您如何绘制标记。如果您的标记只是位图/可绘制,只需使用matrix.postScale()
Matrix matrix = new Matrix();
matrix.postScale(2f, 2f); // douple the size
canvas.drawBitmap(mBitmap, matrix, mPaint);
标记不会根据缩放改变大小。如果您需要此效果,请使用 GroundOverlays。源代码
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了解更多信息
一个简单的形式是。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.raw.ic_car_1);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
googleMap.addGroundOverlay(new GroundOverlayOptions()
.image(bitmapDescriptor)
.position(latLng,100));