gpt4 book ai didi

java - 谷歌地图不加载 fragment

转载 作者:行者123 更新时间:2023-11-30 01:25:03 25 4
gpt4 key购买 nike

我有一个带有两个窗口的滑动标签 fragment ,第一个包含谷歌地图 View 。 Fragments 工作正常,Google fragment 也显示出来,但 map 没有加载。仅显示带有网格线和谷歌 Logo 的空白 map 。我的代码有什么问题?

public class CardFragment extends Fragment implements OnMapReadyCallback{

private static final String ARG_POSITION = "position";
private int position;

GoogleMap mMap;
Geocoder coder;

public static CardFragment newInstance(int position) {
CardFragment f = new CardFragment();
Bundle b = new Bundle();
b.putInt(ARG_POSITION, position);
f.setArguments(b);
return f;
}

public static MapsFragment newInstance(String s) {
Bundle args = new Bundle();
args.putString("value", s);
MapsFragment result = new MapsFragment();
result.setArguments(args);
return result;
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
position = getArguments().getInt(ARG_POSITION);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(position == 0){
View rootView = inflater.inflate(R.layout.maps_frag,container,false);
ButterKnife.inject(this, rootView);
ViewCompat.setElevation(rootView, 50);

if(GooglePlayServicesUtil.isGooglePlayServicesAvailable(this.getContext()) == ConnectionResult.SUCCESS) {

MapView mapView = (MapView) rootView.findViewById(R.id.mymap);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(this);
}

return rootView;
} else {
View rootView = inflater.inflate(R.layout.list_frag,container,false);
ViewCompat.setElevation(rootView, 50);
return rootView;
}


@Override
public void onMapReady(final GoogleMap googleMap) {

mMap = googleMap;
coder = new Geocoder(this.getContext());
p1 = null;
}

布局maps_frag

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.CardView
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="match_parent"
card_view:cardBackgroundColor="@android:color/white">

<com.google.android.gms.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/swagishmap"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.locustapps.ingredientsapp.MapsActivity"/>

</android.support.v7.widget.CardView>

</FrameLayout>

最佳答案

我不明白您尝试使用名称为 com.google.android.gms.maps.SupportMapFragment 的 MapView 做什么。这没有任何意义。

如果你想把 map 放在 fragment 中,你应该使用 MapFragmentSupportMapFragment如果使用 fragment 的兼容性库。这些 fragment 将管理 fragment 空间中 map 的显示。

ApiDemos示例项目有如何使用它的例子。 Here is a layout声明一个 SupportMapView fragment 。

关于java - 谷歌地图不加载 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com