Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:不兼容的类型:无法将片段转换为SupportMapFragment_Java_Android_Google Maps_Android Fragments - Fatal编程技术网

Java 错误:不兼容的类型:无法将片段转换为SupportMapFragment

Java 错误:不兼容的类型:无法将片段转换为SupportMapFragment,java,android,google-maps,android-fragments,Java,Android,Google Maps,Android Fragments,我想为我的项目添加谷歌地图。我正在尝试这样做,然后我就有了这个问题 public class DriverMapActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save

我想为我的项目添加谷歌地图。我正在尝试这样做,然后我就有了这个问题

public class DriverMapActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_driver_map3);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
xml


试试这个

步骤1-在xml文件中

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        />

希望对你有帮助。

我在这方面遇到了一些问题。尝试使用普通的框架布局,并按代码添加片段。

1。用户地图视图代替片段
 1. User MapView in place of Fragment

     <com.google.android.gms.maps.MapView
                    android:id="@+id/provider_map"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />


 2. Update your gradle files as follows
    apply plugin: 'com.google.gms.google-services'    
    implementation 'com.google.android.gms:play-services-maps:17.0.0'    
    implementation 'com.google.android.gms:play-services-gcm:17.0.0'
    implementation 'com.google.android.gms:play-services:12.0.1'    
    classpath 'com.google.gms:google-services:4.3.2' 
2.更新你的gradle文件如下 应用插件:“com.google.gms.googleservices” 实现'com.google.android.gms:play services地图:17.0.0' 实现'com.google.android.gms:play services gcm:17.0.0' 实现'com.google.android.gms:play services:12.0.1' classpath'com.google.gms:googleservices:4.3.2'
显示错误日志显示堆栈跟踪。我认为这可能是您正在使用XML中的map fragment和SupportMapFragment的强制转换代码可能与@Ruwan重复-请显示您的所有代码,以便我可以看到您为SupportMapFragment导入的类,并显示XML文件代码。
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
mapFragment.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
            Log.d("tag", "onMapReady");
        }
    });
mapFragment.getMapAsync( this);
 1. User MapView in place of Fragment

     <com.google.android.gms.maps.MapView
                    android:id="@+id/provider_map"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />


 2. Update your gradle files as follows
    apply plugin: 'com.google.gms.google-services'    
    implementation 'com.google.android.gms:play-services-maps:17.0.0'    
    implementation 'com.google.android.gms:play-services-gcm:17.0.0'
    implementation 'com.google.android.gms:play-services:12.0.1'    
    classpath 'com.google.gms:google-services:4.3.2'