マップフラグメントのサポート
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="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:background="@color/md_divider_white"tools:context=".examples.basics.SupportMapFragmentActivity"> <TextViewandroid:id="@+id/fragment_below_textview"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:gravity="center_horizontal"android:text="@string/fragment_in_card_below"/> <androidx.cardview.widget.CardViewandroid:id="@+id/cardview"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@id/fragment_below_textview"android:layout_marginBottom="8dp"android:layout_marginEnd="8dp"android:layout_marginLeft="8dp"android:layout_marginRight="8dp"android:layout_marginStart="8dp"android:layout_marginTop="8dp"app:cardCornerRadius="2dp"app:cardElevation="@dimen/cardview_default_elevation"> <FrameLayoutandroid:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"/></androidx.cardview.widget.CardView> </RelativeLayout>
SupportMapFragmentActivity.java
package com.mapbox.mapboxandroiddemo.examples.basics; import android.os.Bundle;import androidx.annotation.NonNull;import androidx.fragment.app.FragmentTransaction;import androidx.appcompat.app.AppCompatActivity; import com.mapbox.mapboxandroiddemo.R;import com.mapbox.mapboxsdk.Mapbox;import com.mapbox.mapboxsdk.camera.CameraPosition;import com.mapbox.mapboxsdk.geometry.LatLng;import com.mapbox.mapboxsdk.maps.MapboxMap;import com.mapbox.mapboxsdk.maps.MapboxMapOptions;import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;import com.mapbox.mapboxsdk.maps.Style;import com.mapbox.mapboxsdk.maps.SupportMapFragment; /*** Include a map fragment within your app using Android support library.*/public class SupportMapFragmentActivity extends AppCompatActivity { @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_basic_support_map_frag); // Mapbox access token is configured here. This needs to be called either in your application// object or in the same activity which contains the mapview.Mapbox.getInstance(this, getString(R.string.access_token)); // Create supportMapFragmentSupportMapFragment mapFragment;if (savedInstanceState == null) { // Create fragmentfinal FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // Build mapboxMapMapboxMapOptions options = MapboxMapOptions.createFromAttributes(this, null);options.camera(new CameraPosition.Builder().target(new LatLng(-52.6885, -70.1395)).zoom(9).build()); // Create map fragmentmapFragment = SupportMapFragment.newInstance(options); // Add map fragment to parent containertransaction.add(R.id.container, mapFragment, "com.mapbox.map");transaction.commit();} else {mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentByTag("com.mapbox.map");} if (mapFragment != null) {mapFragment.getMapAsync(new OnMapReadyCallback() {@Overridepublic void onMapReady(@NonNull MapboxMap mapboxMap) {mapboxMap.setStyle(Style.SATELLITE, new Style.OnStyleLoaded() {@Overridepublic void onStyleLoaded(@NonNull Style style) { // Map is set up and the style has loaded. Now you can add data or make other map adjustments }});}});}}}