gpt4 book ai didi

android - 如何使用 ViewPager 将 Google Maps V2 放在 Fragment 上

转载 作者:IT老高 更新时间:2023-10-28 12:59:40 26 4
gpt4 key购买 nike

我正在尝试在 Play 商店中进行相同的选项卡布局。我必须显示 tab layout using a fragments and viewpager from androidhive.但是,我无法实现 google maps v2在上面。我已经在互联网上搜索了几个小时,但找不到有关如何操作的教程。谁能告诉我怎么做?

最佳答案

通过使用此代码,我们可以在任何 ViewPager、Fragment 或 Activity 中的任何位置设置 MapView。

在 Google for Maps 的最新更新中, fragment 仅支持 MapView。 MapFragment 和 SupportMapFragment 对我不起作用。

location_fragment.xml文件中设置显示 map 的布局:

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

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

</RelativeLayout>

现在,我们在文件 MapViewFragment.java 中设置用于显示 map 的 Java 类:

public class MapViewFragment extends Fragment {

MapView mMapView;
private GoogleMap googleMap;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.location_fragment, container, false);

mMapView = (MapView) rootView.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);

mMapView.onResume(); // needed to get the map to display immediately

try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}

mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;

// For showing a move to my location button
googleMap.setMyLocationEnabled(true);

// For dropping a marker at a point on the Map
LatLng sydney = new LatLng(-34, 151);
googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker Title").snippet("Marker Description"));

// For zooming automatically to the location of the marker
CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
});

return rootView;
}

@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}

@Override
public void onPause() {
super.onPause();
mMapView.onPause();
}

@Override
public void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}

@Override
public void onLowMemory() {
super.onLowMemory();
mMapView.onLowMemory();
}
}

最后,您需要通过在 Google Cloud Console 注册您的应用程序来获取您的应用程序的 API key 。 .将您的应用注册为原生 Android 应用。

关于android - 如何使用 ViewPager 将 Google Maps V2 放在 Fragment 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19353255/

26 4 0