我面临添加叠加层的问题。我想添加将在普通 View 和卫星 View 之间切换的按钮,以及一些将显示我的实际坐标并在我的位置更改时更新的 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;
}
}
最佳答案
您不需要叠加层。只需使用带有 RelativeLayout 的布局 xml 文件定义布局即可。作为根元素。
使用相对布局,您可以将 TextView 或 Button 等元素放在彼此之上。因此,在您的情况下,您首先会在布局文件中定义 MapView,然后定义要在 MapView 上显示的元素。现在所有元素都应该在左上角呈现在彼此之上。使用 RelativeLayout 定义的属性,您现在可以按照您想要的方式对齐元素。看看 RealtiveLayout tutorial为了更好地理解。
关于Android - 谷歌地图添加覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563482/