我在地图上有很多标记。缩放每个标记可以显示其位置,但是当缩小地图时,标记会重叠在一起,更难确定标记的位置。
有没有一种方法根据缩放比例调整标记图像的大小?
我在地图上有很多标记。缩放每个标记可以显示其位置,但是当缩小地图时,标记会重叠在一起,更难确定标记的位置。
有没有一种方法根据缩放比例调整标记图像的大小?
这取决于你如何绘制你的标记。如果你的标记只是一个位图/可绘制对象,那么只需使用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));
ItemizedOverlay
中使用draw()
方法。 - WarrenFaith