无法将“ android.support.v4.app.Fragment”转换为“ com.google.android.gms.maps.SupportMapFragment”

时间:2019-08-17 09:08:33

标签: android google-maps android-studio supportmapfragment

我使用Google Maps活动创建了一个新项目,并安装了Google Play服务。我添加了Internet,精细位置和粗略位置的权限。 我复制了google_maps_api.xml中提到的网址,并生成了API密钥。在google_maps_api.xml和清单元文件中使用了API密钥。 现在我遇到了有关supportMapFragment的问题。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // 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);
}

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}}

If i did Migrating app to AndroidX,then the errors are coming.Please click on this link to see errors

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

implementation 'androidx.core:core:1.0.0'
implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'
implementation 'androidx.fragment:fragment:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'

}

我该如何解决这个问题。请帮助我。

2 个答案:

答案 0 :(得分:0)

迁移到AndroidX,然后替换

$insert_marker = "/##-- \$Id: _.htaccess 10934 2017-08-31 12:11:28Z serpent_driver $/";

使用

import android.support.v4.app.FragmentActivity;

答案 1 :(得分:0)

如果要使用 androidX ,则必须从Android支持库迁移到Jetpack(AndroidX)库。

  • 将com.android.tools.build:gradle升级到v3.2.1或更高版本。
  • 将compileSdkVersion升级到28或更高版本。
  • 更新您的应用程序以使用Jetpack(AndroidX); Migrating to AndroidX

这是来自youtube

的视频