/* * Copyright (c) 2015 Daimler AG / Moovel GmbH * * All rights reserved */ package com.car2go.maps.osm; import android.content.Context; import android.content.res.TypedArray; import android.os.Bundle; import android.util.AttributeSet; import com.car2go.maps.MapContainerView; import com.car2go.maps.OnMapReadyCallback; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; /** * @see MapContainerView */ public class MapView extends MapContainerView { private OsmMap anyMap; public MapView(Context context) { super(context); initView(context, null); } public MapView(Context context, AttributeSet attrs) { super(context, attrs); initView(context, attrs); } private void initView(Context context, AttributeSet attrs) { org.osmdroid.views.MapView mapView = new org.osmdroid.views.MapView(context, null); addView(mapView); mapView.setTileSource(TileSourceFactory.MAPNIK); mapView.setMultiTouchControls(true); anyMap = new OsmMap(mapView); setClipToPadding(false); setLayerType(LAYER_TYPE_SOFTWARE, null); applyAttributes(context, attrs); } private void applyAttributes(Context context, AttributeSet attrs) { if (attrs == null) { return; } TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MapView); try { boolean liteMode = typedArray.getBoolean(R.styleable.MapView_anyMapLiteMode, false); anyMap.getUiSettings().setAllGesturesEnabled(!liteMode); } finally { typedArray.recycle(); } } @Override public void getMapAsync(final OnMapReadyCallback callback) { post(new Runnable() { @Override public void run() { callback.onMapReady(anyMap); } }); } @Override public void onCreate(Bundle savedInstanceState) { // Do nothing } @Override public void onResume() { // Do nothing } @Override public void onPause() { // Do nothing } @Override public void onDestroy() { // Do nothing } @Override public void onLowMemory() { // Do nothing } @Override public void onSaveInstanceState(Bundle outState) { // Do nothing } }