我遇到了添加叠加层的问题。我想添加一个按钮,它将在普通和satelitte视图之间切换,还有一些textView,它将显示我的实际坐标,这些将在我的位置更改时更新。我试图把经典的TextView添加到我的map.java导入中以使用GPS,而onLocationChanged我正在尝试更新TextView,但没有成功。它必须通过叠加来完成,但我看不到,如何在屏幕上设置我想要的项目 - 具有特定功能的按钮和定期更新的textView。有什么想法吗?
感谢
修改
int g=0;
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setEnabled(true);
mapView.setClickable(true);
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.toggle:
if (g!=1){
mapView.invalidate();
mapView.setSatellite(true);
mapView.invalidate();
g=1;
}else{
mapView.invalidate();
mapView.setSatellite(false);
mapView.invalidate();
}
break;
}
}
答案 0 :(得分:3)
您不需要覆盖。只需使用布局xml文件定义布局,并将RelativeLayout作为根元素。
使用相对布局,您可以将TextViews或Buttons等元素放在彼此的顶部。因此,在您的情况下,您首先要在布局文件中定义MapView,然后在MapView上显示要显示的元素。现在所有元素都应该在左上角呈现在彼此的顶部。使用RelativeLayout定义的属性,您现在可以按照自己的方式对齐元素。请查看RealtiveLayout tutorial以获得更好的理解。
答案 1 :(得分:1)