我有一张来自 MapBox 的地图,我在地图上绘制了圆形图像的自定义标记。当用户选择一个时,我希望其他标记变为半透明。我使用MarkerOptions
类在地图上定位我的标记,但这个类没有更改标记的 alpha 的方法。有一个不推荐使用的类MarkerViewOptions
确实具有这样的方法,但它已被弃用,并且某些功能不适用于该类。我应该如何在地图上自定义标记?这是我的代码片段
private void setMarker(QuestData questData, int adapterPosition) {
final float latitude = questData.getLatitude();
final float longitude = questData.getLongitude();
final LatLng position = new LatLng(latitude, longitude);
final boolean isMarkerSelected = selectedMarkerPosition < 0
|| adapterPosition == selectedMarkerPosition;
final float alpha = isMarkerSelected ? 1.0F : 0.5F;
final MarkerOptions markerOptions = new MarkerOptions().setPosition(position);
// how to set marker alpha?
final Marker marker = getMapboxMap().addMarker(markerOptions);
final int markerDiameter = getResources()
.getDimensionPixelOffset(R.dimen.size_diam_circle_marker);
Glide.with(this)
.asBitmap()
.load(questData.getPhotoUrl())
.apply(new RequestOptions()
.dontAnimate()
.circleCrop()
.override(markerDiameter)
.error(R.drawable.ic_placeholder)
)
.into(new GlideIconMarker(marker, getContext(), markerDiameter));
questDataMap.put(marker, questData);
}