All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mapbox.mapboxsdk.utils.MapFragmentUtils Maven / Gradle / Ivy

There is a newer version: 9.2.1
Show newest version
package com.mapbox.mapboxsdk.utils;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;

import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;

/**
 * MapFragment utility class.
 * 

* Used to extract duplicate code between {@link com.mapbox.mapboxsdk.maps.MapFragment} and * {@link com.mapbox.mapboxsdk.maps.SupportMapFragment}. *

*/ public class MapFragmentUtils { public static Bundle createFragmentArgs(MapboxMapOptions options) { Bundle bundle = new Bundle(); bundle.putParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS, options); return bundle; } public static MapboxMapOptions resolveArgs(Context context, Bundle args) { MapboxMapOptions options; if (args != null && args.containsKey(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS)) { options = args.getParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS); } else { // load default options options = MapboxMapOptions.createFromAttributes(context, null); } options = loadDefaultMyLocationViewDrawables(context, options); return options; } private static MapboxMapOptions loadDefaultMyLocationViewDrawables(Context context, MapboxMapOptions options) { Drawable foregroundDrawable = options.getMyLocationForegroundDrawable(); Drawable foregroundBearingDrawable = options.getMyLocationForegroundBearingDrawable(); if (foregroundDrawable == null || foregroundBearingDrawable == null) { if (foregroundDrawable == null) { foregroundDrawable = ContextCompat.getDrawable(context, R.drawable.mapbox_mylocation_icon_default); } if (foregroundBearingDrawable == null) { foregroundBearingDrawable = ContextCompat.getDrawable(context, R.drawable.mapbox_mylocation_icon_bearing); } options.myLocationForegroundDrawables(foregroundDrawable, foregroundBearingDrawable); } if (options.getMyLocationBackgroundDrawable() == null) { options.myLocationBackgroundDrawable(ContextCompat.getDrawable(context, R.drawable.mapbox_mylocation_bg_shape)); } return options; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy