将位置绑定到MVVM中的MapView

时间:2016-04-27 15:37:05

标签: android mvvm

只是想知道如何将纬度和经度绑定到com.google.android.gms.maps.MapView。感觉它没有暴露任何布局属性。

1 个答案:

答案 0 :(得分:2)

找到自己的答案。

只需要创建使用@BindingAdapter注释的静态方法。 类似的东西:

@BindingAdapter("app:latLong")
public static void bindLocationToMap(MapView mapView, LatLng latLong) {
   CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLong, 10);
   mapView.animateCamera(cameraUpdate);
}

并在布局中使用上面定义的属性:

...
<com.google.android.gms.maps.MapView android:id="@+id/mapview"
        android:layout_width="match_parent" 
        android:layout_height="match_parent"
        app:location="@{latLong} />
...