我已经在网上寻找解决方案,因为getMap()方法已经过时,因此,我想用getMapAsync();替换它.我搜索了谷歌以及机器人官方文件,我仍然卡住请帮忙.
我现在收到一条错误消息,指出不兼容的类型要求com.google.android.gms.GoogleMap发现无效.
public class Maps extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap googleMap;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Maps);
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
LatLng latlong = new LatLng(lat, lon);
googleMap.addMarker(new MarkerOptions().position(latlong).title(name));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 15));
}
@Override
public void onMapReady(GoogleMap googleMap) {
}
}
Run Code Online (Sandbox Code Playgroud)
下面的方法给出了错误,它表示不兼容的类型必须com.google.android.gms.GoogleMap发现无效.
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapFragment)).getMapAsync(this);
Run Code Online (Sandbox Code Playgroud) 我已经为所有不同的屏幕尺寸(例如小、大、中和超大)创建了横向模式的 Android 布局资源文件,但是,当我运行该应用程序时,它在横向模式下不起作用,因为有一半的按钮,图像丢失从屏幕上。
我还在 android 清单文件中包含了以下行。
android:configChanges="orientation|screenSize|keyboardHidden"
Run Code Online (Sandbox Code Playgroud)
我已将以下内容包含在所有活动 java 文件中,但仍然无法正常工作。
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(getApplicationContext(), "Portrait Mode", Toast.LENGTH_SHORT).show();
}else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(getApplicationContext(), "Landscape Mode", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
Android 确实将其切换到横向模式,但是,屏幕内的元素显示不正确。我创建了一个横向布局资源文件,但是,问题是 Android 不使用此布局,因为它在纵向和横向模式下使用相同的布局。
请建议我如何让 Android 知道何时使用横向和纵向模式。
android android-layout android-screen-support android-orientation
android ×2