如何将带有标记的地图添加到Android中的适配器项目?

时间:2018-08-13 10:44:49

标签: android android-mapview

我在布局中添加了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" />

2 个答案:

答案 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)
}