我正在尝试为我的谷歌地图添加一个叠加层,该地图固定在屏幕中央,以便用户可以使用它来精确选择一个位置。
目前,下面的代码绘制了一个带有居中十字准线图像的地图视图,但由于按钮位于地图视图下方,地图中心会发生变化,十字准线不再代表地图的中心点,该地图已向上移动了高度。按钮。
我看过Android - Showing a crosshair in the center of my Google Map,但它似乎只适用于v1 :(
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/locationpicker_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/locationpicker_add_venue"
android:clickable="true"
android:layout_weight="1"
class="com.google.android.gms.maps.SupportMapFragment"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/crosshairs"
android:layout_gravity="center_vertical"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/locationpicker_add_venue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Add new venue here"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
答案 0 :(得分:4)
为了达到这个效果,我使用了一个围绕地图片段的相对布局,其中以imageview为中心。例如,见下文;
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/locationpicker_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:layout_weight="1"
class="com.google.android.gms.maps.SupportMapFragment"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/crosshairs"
android:layout_gravity="center_vertical"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/locationpicker_add_venue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "Add new venue here"
style="@style/Buttonpurple_style"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>