这是我的问题: 当我单击地图视图时,“setBuiltInZoomControls”方法显示缩放控件然后隐藏它。我想复制该功能,以便当我点击地图视图时,我想显示地图,卫星和交通按钮,但我的代码不起作用。
你能帮我解决这个问题吗?我在下面提供了我的代码。这是我的xml代码:
parent"
android:layout_height="fill_parent"
android:id="@+id/mapLayout"
>
<com.google.android.maps.MapView
android:id="@+id/mapview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="0K5oQk-IVWGzfMbBkOhx5EDXDXhlBO1PJI8mLag" />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="48px"
android:background="#550000ff"
android:padding="2px"
android:id="@+id/mapBtnsControlls"
android:visibility="invisible">
<Button
android:layout_width="wrap_content"
android:id="@+id/btnMap"
android:layout_height="wrap_content"
android:text="Map"
android:layout_marginLeft="53px"
android:layout_marginRight="10px">
</Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnSatellite"
android:text="Satellite"
android:layout_toRightOf="@+id/btnMap"
android:layout_marginRight="10px">
</Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnTraffic"
android:layout_toRightOf="@+id/btnSatellite"
android:text="Traffic">
</Button>
</RelativeLayout>
</RelativeLayout>
这是我的java代码:
MapView googleMap= (MapView) findViewById(R.id.mapview1);
RelativeLayout mapBtnsLayout = (RelativeLayout) findViewById(R.id.mapBtnsControlls);
googleMap.setClickable(true);
googleMap.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mapBtnsLayout.setVisibility(View.VISIBLE);
}
});
答案 0 :(得分:0)
不要在MapView上使用setClickable()和setOnClickListener(),而是尝试添加Overlay子类并覆盖onTouchEvent()以显示控件。