在Android中的MapView上绘制始终居中的叠加层

时间:2011-09-05 03:01:23

标签: android overlay android-mapview

我想在Android中的MapView中绘制一个始终居中的图像叠加层,就像目标十字线

一样

我要接近它的方法是使用Overlay的onTouchEvent和 MotionEvent.Move移动叠加层的位置。

有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

您应该能够使用包含MapView和ImageView的RelativeLayout来实现这一目标。这是一些示例XML:

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <com.google.android.maps.MapView android:id="@+id/google_maps"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="@string/maps_key"/>
    <ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_centerInParent="true"
               android:src="@drawable/mapcenter"/>
</RelativeLayout>

这将使您的图像居中,并减少中心/保持图像居中所需的任何处理。当然还有其他方法可以使用OverlayItem,如果XML方法不起作用,请告诉我,我将发布一个叠加示例。