我在布局中添加了mapview
。如何根据列表中的项目动态设置地图标记?
<com.google.android.gms.maps.MapView
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="15"
map:liteMode="false"
map:mapType="normal" />
答案 0 :(得分:2)
在onBindViewHolder中用于您的地图视图实现OnMapReadyCallback并覆盖onMapReady()。
类似这样的东西:
holder.mMapView.getMapAsync(new OnMapReadyCallback()
{
@Override
public void onMapReady(GoogleMap googleMap) {
holder.mMapView = googleMap;
if (holder.mMapView != null) {
holder.mMapView.addMarker(...);
}
}
}
答案 1 :(得分:0)
您可以使用纬度和经度为所需位置放置标记。
fun addMarker(latLng: LatLng) {
val options = MarkerOptions().position(latLng)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon))
map.addMarker(options)
}