Search in sources :

Example 1 with BusStopPlugin

use of cl.smartcities.isci.transportinspector.map.plugin.busStopPlugin.BusStopPlugin in project androidApp by InspectorIncognito.

the class VectorMapFragment method onViewCreated.

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    Log.d("VectorMapFragment", "onViewCreated");
    super.onViewCreated(view, savedInstanceState);
    getMapAsync(new OnMapReadyCallback() {

        @Override
        public void onMapReady(MapboxMap resMapboxMap) {
            mapboxMap = resMapboxMap;
            clickListeners = new ArrayList<>();
            // mapboxMap.getUiSettings().setCompassImage(ContextCompat.getDrawable(getContext(), R.drawable.direction_arrow));
            mapboxMap.addOnMapClickListener(new MapboxMap.OnMapClickListener() {

                @Override
                public void onMapClick(@NonNull LatLng point) {
                    for (MultiLayerOnMapClickListener listener : clickListeners) {
                        if (listener.onMapClick(point)) {
                            return;
                        }
                    }
                }
            });
            locationEngine = new MultiLocationEngine();
            mapboxMap.getUiSettings().setCompassMargins(0, 27 * getResources().getDisplayMetrics().heightPixels / 100, 4 * getResources().getDisplayMetrics().widthPixels / 100, 0);
            onBusEngine = new OnBusEngine(mapboxMap);
            busStopPlugin = new BusStopPlugin(mapboxMap, getContext(), VectorMapFragment.this, onBusEngine);
            busUserPlugin = new BusUserPlugin(mapView, mapboxMap, locationEngine, VectorMapFragment.this, onBusEngine);
            clickListeners.add(busUserPlugin.getOnMapClickListener());
            clickListeners.add(busStopPlugin.getOnMapClickListener());
            outOfBusStopStackFrame = new MainActivity.OnBackButtonStack() {

                @Override
                public void onPressBackButton() {
                    busStopPlugin.clearSelectedFeature();
                }
            };
            mapboxMap.addOnScrollListener(new MapboxMap.OnScrollListener() {

                @Override
                public void onScroll() {
                    centerButton.deselectButton();
                    busUserPlugin.setTrackingEnabled(false);
                }
            });
            centerButton = new LocationToggleButton((ImageButton) getActivity().findViewById(R.id.floating_button_center), new LocationToggleButton.OnToggleButtonCheck() {

                @Override
                public void onButtonSelected() {
                    Log.d("VectorMapFragment", "onButtonSelected");
                    if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                        return;
                    }
                    mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(locationEngine.getLastLocation().getLatitude(), locationEngine.getLastLocation().getLongitude()), 16));
                    busUserPlugin.setTrackingEnabled(true);
                }

                @Override
                public void onButtonUnselected() {
                    busUserPlugin.setTrackingEnabled(false);
                }
            }, true);
            enableLocationPlugin();
            if (savedBus != null) {
                changeToOnBus(savedBus);
                savedBus = null;
            }
        }
    });
}
Also used : BusUserPlugin(cl.smartcities.isci.transportinspector.map.plugin.userPlugin.BusUserPlugin) MultiLocationEngine(cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine) ArrayList(java.util.ArrayList) OnMapReadyCallback(com.mapbox.mapboxsdk.maps.OnMapReadyCallback) MultiLayerOnMapClickListener(cl.smartcities.isci.transportinspector.map.utils.MultiLayerOnMapClickListener) MultiLayerOnMapClickListener(cl.smartcities.isci.transportinspector.map.utils.MultiLayerOnMapClickListener) NonNull(android.support.annotation.NonNull) OnBusEngine(cl.smartcities.isci.transportinspector.map.engine.OnBusEngine) BusStopPlugin(cl.smartcities.isci.transportinspector.map.plugin.busStopPlugin.BusStopPlugin) LatLng(com.mapbox.mapboxsdk.geometry.LatLng) MapboxMap(com.mapbox.mapboxsdk.maps.MapboxMap)

Aggregations

NonNull (android.support.annotation.NonNull)1 MultiLocationEngine (cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine)1 OnBusEngine (cl.smartcities.isci.transportinspector.map.engine.OnBusEngine)1 BusStopPlugin (cl.smartcities.isci.transportinspector.map.plugin.busStopPlugin.BusStopPlugin)1 BusUserPlugin (cl.smartcities.isci.transportinspector.map.plugin.userPlugin.BusUserPlugin)1 MultiLayerOnMapClickListener (cl.smartcities.isci.transportinspector.map.utils.MultiLayerOnMapClickListener)1 LatLng (com.mapbox.mapboxsdk.geometry.LatLng)1 MapboxMap (com.mapbox.mapboxsdk.maps.MapboxMap)1 OnMapReadyCallback (com.mapbox.mapboxsdk.maps.OnMapReadyCallback)1 ArrayList (java.util.ArrayList)1