如有任何语法错误,请原谅。 我按照教程在 fragment 中查看了谷歌地图,但出了点问题。
这是我的文件 .java,它与 fragment Hook :
public class MapFragment extends Fragment implements OnMapReadyCallback{
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_map, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
MapFragment fragment = (MapFragment)getChildFragmentManager().findFragmentById(R.id.map);
fragment.getMapAsync(this); //Here i get the error
}
@Override
public void onMapReady(GoogleMap googleMap) {
}
这是布局 fragment :
<fragment
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment"></fragment>
我做错了什么?
谢谢!
最佳答案
你必须使用 SupportMapFragment
而不是 MapFragment
在 XML 中
<fragment
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"></fragment>
在 fragment 中
SupportMapFragment fragment = (SupportMapFragment)getChildFragmentManager().findFragmentById(R.id.map);
fragment.getMapAsync(this);
关于android - 无法解析方法 "getMapAsync",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42166972/