Search in sources :

Example 1 with MultiLocationEngine

use of cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine in project androidApp by InspectorIncognito.

the class RouterVectorMapFragment method onViewCreated.

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mapView.onCreate(savedInstanceState);
    mapView.getMapAsync(new OnMapReadyCallback() {

        @Override
        public void onMapReady(MapboxMap aMapboxMap) {
            mapboxMap = aMapboxMap;
            mapboxMap.getUiSettings().setCompassMargins(0, 14 * getResources().getDisplayMetrics().heightPixels / 100, 4 * getResources().getDisplayMetrics().widthPixels / 100, 0);
            routerPlugin = new RouterPlugin(mapboxMap, new RedirectionListener(getActivity()));
            if (selectedRoute != null) {
                innerSetRoute(selectedRoute);
                selectedRoute = null;
            }
            locationEngine = new MultiLocationEngine();
            locationPlugin = new UserPlugin(mapView, mapboxMap, locationEngine);
            mapboxMap.addOnScrollListener(new MapboxMap.OnScrollListener() {

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

                @Override
                public void 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));
                    locationPlugin.setTrackingEnabled(true);
                }

                @Override
                public void onButtonUnselected() {
                    locationPlugin.setTrackingEnabled(false);
                }
            }, false);
            enableLocationPlugin();
            mapView.setVisibility(View.VISIBLE);
        }
    });
}
Also used : RouterPlugin(cl.smartcities.isci.transportinspector.map.plugin.routerPlugin.RouterPlugin) MultiLocationEngine(cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine) UserPlugin(cl.smartcities.isci.transportinspector.map.plugin.userPlugin.UserPlugin) OnMapReadyCallback(com.mapbox.mapboxsdk.maps.OnMapReadyCallback) LatLng(com.mapbox.mapboxsdk.geometry.LatLng) MapboxMap(com.mapbox.mapboxsdk.maps.MapboxMap)

Example 2 with MultiLocationEngine

use of cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine in project androidApp by InspectorIncognito.

the class VectorSearchMapFragment method onViewCreated.

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

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

                @Override
                public void onMapClick(@NonNull LatLng point) {
                }
            });
            mapboxMap.getUiSettings().setCompassMargins(0, 14 * getResources().getDisplayMetrics().heightPixels / 100, 4 * getResources().getDisplayMetrics().widthPixels / 100, 0);
            searchPlugin = new SearchPlugin(redirectionListener, service, routeHelper, mapboxMap);
            locationEngine = new MultiLocationEngine();
            locationPlugin = new UserPlugin(mapView, mapboxMap, locationEngine);
            mapboxMap.addOnScrollListener(new MapboxMap.OnScrollListener() {

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

                @Override
                public void 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));
                    locationPlugin.setTrackingEnabled(true);
                }

                @Override
                public void onButtonUnselected() {
                    locationPlugin.setTrackingEnabled(false);
                }
            }, false);
            enableLocationPlugin();
            Location lastLocation = locationEngine.getLastLocation();
            zoomBound(new LatLng(lastLocation.getLatitude(), lastLocation.getLongitude()));
        }
    });
}
Also used : MultiLocationEngine(cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine) OnMapReadyCallback(com.mapbox.mapboxsdk.maps.OnMapReadyCallback) SearchPlugin(cl.smartcities.isci.transportinspector.map.plugin.searchPlugin.SearchPlugin) NonNull(android.support.annotation.NonNull) UserPlugin(cl.smartcities.isci.transportinspector.map.plugin.userPlugin.UserPlugin) LatLng(com.mapbox.mapboxsdk.geometry.LatLng) MapboxMap(com.mapbox.mapboxsdk.maps.MapboxMap) Location(android.location.Location)

Example 3 with MultiLocationEngine

use of cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine 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

MultiLocationEngine (cl.smartcities.isci.transportinspector.map.engine.MultiLocationEngine)3 LatLng (com.mapbox.mapboxsdk.geometry.LatLng)3 MapboxMap (com.mapbox.mapboxsdk.maps.MapboxMap)3 OnMapReadyCallback (com.mapbox.mapboxsdk.maps.OnMapReadyCallback)3 NonNull (android.support.annotation.NonNull)2 UserPlugin (cl.smartcities.isci.transportinspector.map.plugin.userPlugin.UserPlugin)2 Location (android.location.Location)1 OnBusEngine (cl.smartcities.isci.transportinspector.map.engine.OnBusEngine)1 BusStopPlugin (cl.smartcities.isci.transportinspector.map.plugin.busStopPlugin.BusStopPlugin)1 RouterPlugin (cl.smartcities.isci.transportinspector.map.plugin.routerPlugin.RouterPlugin)1 SearchPlugin (cl.smartcities.isci.transportinspector.map.plugin.searchPlugin.SearchPlugin)1 BusUserPlugin (cl.smartcities.isci.transportinspector.map.plugin.userPlugin.BusUserPlugin)1 MultiLayerOnMapClickListener (cl.smartcities.isci.transportinspector.map.utils.MultiLayerOnMapClickListener)1 ArrayList (java.util.ArrayList)1