簡體   English   中英

安卓谷歌地圖片段

[英]Android Google Maps Fragment

我創建了一個新的 Android 項目,其 Google 地圖活動定義為

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);
}

布局是這個

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.alewe.myapplication.MapsActivity" />

問題是:我創建了另一個活動,我試圖在其中添加谷歌地圖片段。

使用

FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.firstLayout,this,this.getTag());

不起作用,因為我無法將 FragmentActivity 轉換為 Fragment。

如何添加剛剛在另一個活動中創建的谷歌地圖片段? 謝謝

像這樣改變你的布局(activity_maps):

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.example.alewe.myapplication.MapsActivity"
  android:id="@+id/main_view_map">

  <com.google.android.material.floatingactionbutton.FloatingActionButton
      android:id="@+id/button"
      app:layout_constraintTop_toTopOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:elevation="10dp"
      app:fabSize="mini"
      app:srcCompat="@drawable/ic_refresh_black_24dp"
      android:layout_marginTop="16dp"
      android:layout_marginEnd="16dp" />

  <fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

並且不要使用

FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.firstLayout,this,this.getTag());

這段代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM