我有一张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);
}