Пример #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            ContentView = new OfflineRoutingView(this);
            SetContentView(ContentView);

            string folder = GetPackageFolder(Routing.PackageFolder);

            Client = new Routing(ContentView.MapView, folder);

            MapListener = new RouteMapEventListener();

            Alert("Long-press on map to set route start and finish");

            Bitmap olmarker         = CreateBitmap(Resource.Drawable.olmarker);
            Bitmap directionUp      = CreateBitmap(Resource.Drawable.direction_up);
            Bitmap directionUpLeft  = CreateBitmap(Resource.Drawable.direction_upthenleft);
            Bitmap directionUpRight = CreateBitmap(Resource.Drawable.direction_upthenright);

            Color green = new Color(Android.Graphics.Color.Green);
            Color red   = new Color(Android.Graphics.Color.Red);
            Color white = new Color(Android.Graphics.Color.White);

            ContentView.SetOnlineMode(delegate
            {
                Routing.SetSourcesAndElements(olmarker, directionUp, directionUpLeft, directionUpRight, green, red, white);
            });
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Virtual method overridden in child classes in order to keep layer order correct
            SetBaseLayer();

            // Set route listener
            MapListener = new RouteMapEventListener();
            MapView.MapEventListener = MapListener;

            Routing = new Routing(MapView, BaseProjection);

            Alert("Long-press on map to set route start and finish");

            Bitmap olmarker         = CreateBitmap("icons/olmarker.png");
            Bitmap directionUp      = CreateBitmap("icons/direction_up.png");
            Bitmap directionUpLeft  = CreateBitmap("icons/direction_upthenleft.png");
            Bitmap directionUpRight = CreateBitmap("icons/direction_upthenright.png");

            Color green = new Color(0, 255, 0, 255);
            Color red   = new Color(255, 0, 0, 255);
            Color white = new Color(255, 255, 255, 255);

            Routing.SetSourcesAndElements(olmarker, directionUp, directionUpLeft, directionUpRight, green, red, white);
        }
Пример #3
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            ContentView = new RouteSearchView(this);
            SetContentView(ContentView);

            Client            = new Routing(ContentView.MapView, null);
            Routing.ShowTurns = false;
            Routing.SetSourcesAndElements(this);

            Search = new RouteSearch(ContentView.MapView, (ContentView as RouteSearchView).BaseLayer);

            MapListener = new RouteMapEventListener();

            SetOnlineMode();
            ContentView.HidePackageDownloadButtons();
        }
Пример #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            ContentView = new RouteSearchView();
            View        = ContentView;

            Client = new Routing(ContentView.MapView, null);

            Routing.ShowTurns = false;
            Routing.SetSourcesAndElements();

            Search = new RouteSearch(ContentView.MapView, (ContentView as RouteSearchView).BaseLayer);

            MapListener = new RouteMapEventListener();

            SetOnlineMode();
            ContentView.HidePackageDownloadButtons();
        }
Пример #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            ContentView = new PackageDownloadBaseView();
            View        = ContentView;

            string folder = GetPackageFolder(Routing.PackageFolder);

            Client = new Routing(ContentView.MapView, folder);

            Routing.SetSourcesAndElements();

            // Set route listener
            MapListener = new RouteMapEventListener();

            Alert("Long-press on map to set route start and finish");

            ContentView.SetOnlineMode();
        }
        protected void Initialize(MapView map)
        {
            // Set route listener
            MapListener          = new RouteMapEventListener();
            map.MapEventListener = MapListener;

            // Virtual method overridden in child classes in order to keep layer order correct
            SetBaseLayer();

            Routing = new Routing(map, BaseProjection);

            Alert("Long-press on map to set route start and finish");

            Bitmap olmarker         = CreateBitmap(Resource.Drawable.olmarker);
            Bitmap directionUp      = CreateBitmap(Resource.Drawable.direction_up);
            Bitmap directionUpLeft  = CreateBitmap(Resource.Drawable.direction_upthenleft);
            Bitmap directionUpRight = CreateBitmap(Resource.Drawable.direction_upthenright);

            Color green = new Color(Android.Graphics.Color.Green);
            Color red   = new Color(Android.Graphics.Color.Red);
            Color white = new Color(Android.Graphics.Color.White);

            Routing.SetSourcesAndElements(olmarker, directionUp, directionUpLeft, directionUpRight, green, red, white);
        }
Пример #7
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            AddBaseLayer(CartoBaseMapStyle.CartoBasemapStyleDefault);

            // Create PackageManager instance for dealing with offline packages
            var packageFolder = new File(GetExternalFilesDir(null), "routingpackages");

            if (!(packageFolder.Mkdirs() || packageFolder.IsDirectory))
            {
                Log.Fatal("Could not create package folder!");
            }

            packageManager = new CartoPackageManager(ManagerSource, packageFolder.AbsolutePath);

            PackageListener = new RoutingPackageListener(packageManager, downloadablePackages);
            packageManager.PackageManagerListener = PackageListener;
            packageManager.Start();

            // Fetch list of available packages from server.
            // Note that this is asynchronous operation
            // and listener will be notified via onPackageListUpdated when this succeeds.
            packageManager.StartPackageListDownload();

            // create offline routing service connected to package manager
            offlineRoutingService = new PackageManagerRoutingService(packageManager);

            // Create additional online routing service that will be used
            // when offline package is not yet downloaded or offline routing fails
            onlineRoutingService = new CartoOnlineRoutingService(ServiceSource);

            // Define layer and datasource for route line and instructions
            routeDataSource = new LocalVectorDataSource(BaseProjection);
            VectorLayer routeLayer = new VectorLayer(routeDataSource);

            MapView.Layers.Add(routeLayer);

            // Define layer and datasource for route start and stop markers
            routeStartStopDataSource = new LocalVectorDataSource(BaseProjection);

            // Initialize a vector layer with the previous data source
            VectorLayer vectorLayer = new VectorLayer(routeStartStopDataSource);

            // Add the previous vector layer to the map
            MapView.Layers.Add(vectorLayer);

            // Set visible zoom range for the vector layer
            vectorLayer.VisibleZoomRange = new MapRange(0, 22);

            // Set route listener
            MapListener = new RouteMapEventListener();
            MapView.MapEventListener = MapListener;

            // Create markers for start & end and a layer for them
            MarkerStyleBuilder markerBuilder = new MarkerStyleBuilder();

            markerBuilder.Bitmap           = CreateBitmap(Resource.Drawable.olmarker);
            markerBuilder.HideIfOverlapped = false;
            markerBuilder.Size             = 30;
            markerBuilder.Color            = new Carto.Graphics.Color(Android.Graphics.Color.Green);

            startMarker         = new Marker(new MapPos(0, 0), markerBuilder.BuildStyle());
            startMarker.Visible = false;

            markerBuilder.Color = new Carto.Graphics.Color(Android.Graphics.Color.Red);

            stopMarker         = new Marker(new MapPos(0, 0), markerBuilder.BuildStyle());
            stopMarker.Visible = false;

            routeStartStopDataSource.Add(startMarker);
            routeStartStopDataSource.Add(stopMarker);

            markerBuilder.Color  = new Carto.Graphics.Color(Android.Graphics.Color.White);
            markerBuilder.Bitmap = CreateBitmap(Resource.Drawable.direction_up);
            instructionUp        = markerBuilder.BuildStyle();

            markerBuilder.Bitmap = CreateBitmap(Resource.Drawable.direction_upthenleft);
            instructionLeft      = markerBuilder.BuildStyle();

            markerBuilder.Bitmap = CreateBitmap(Resource.Drawable.direction_upthenright);
            instructionRight     = markerBuilder.BuildStyle();

            // Style for instruction balloons
            balloonBuilder = new BalloonPopupStyleBuilder();
            balloonBuilder.TitleMargins = new BalloonPopupMargins(4, 4, 4, 4);

            // Finally animate map to Estonia
            MapView.FocusPos = BaseProjection.FromWgs84(new MapPos(25.662893, 58.919365));
            MapView.Zoom     = 7;

            Alert("Long-press on map to set route start and finish");
        }
Пример #8
0
        protected override void OnDestroy()
        {
            base.OnDestroy();

            MapListener = null;
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            AddBaseLayer(CartoBaseMapStyle.CartoBasemapStyleDefault);

            // Create PackageManager instance for dealing with offline packages
            string folder = Utils.GetDocumentDirectory("routingpackages");

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
                Console.WriteLine("Directory: Does not exist... Creating");
            }
            else
            {
                Console.WriteLine("Directory: Exists");
            }

            packageManager  = new CartoPackageManager(ROUTING_PACKAGEMANAGER_SOURCE, folder);
            PackageListener = new RoutingPackageListener(packageManager, downloadablePackages);

            packageManager.PackageManagerListener = PackageListener;

            // Fetch list of available packages from server.
            // Note that this is asynchronous operation
            // and listener will be notified via onPackageListUpdated when this succeeds.
            packageManager.StartPackageListDownload();

            // Create offline routing service connected to package manager
            offlineRoutingService = new PackageManagerRoutingService(packageManager);

            // Create additional online routing service that will be used
            // when offline package is not yet downloaded or offline routing fails
            onlineRoutingService = new CartoOnlineRoutingService(ROUTING_SERVICE_SOURCE);

            // Define layer and datasource for route line and instructions
            routeDataSource = new LocalVectorDataSource(BaseProjection);
            VectorLayer routeLayer = new VectorLayer(routeDataSource);

            MapView.Layers.Add(routeLayer);

            // Define layer and datasource for route start and stop markers
            routeStartStopDataSource = new LocalVectorDataSource(BaseProjection);

            // Initialize a vector layer with the previous data source
            VectorLayer vectorLayer = new VectorLayer(routeStartStopDataSource);

            // Add the previous vector layer to the map
            MapView.Layers.Add(vectorLayer);

            // Set visible zoom range for the vector layer
            vectorLayer.VisibleZoomRange = new MapRange(0, 22);

            MapListener = new RouteMapEventListener();
            MapView.MapEventListener = MapListener;

            // Create markers for start & end, and a layer for them
            MarkerStyleBuilder markerStyleBuilder = new MarkerStyleBuilder();

            markerStyleBuilder.Bitmap           = BitmapUtils.CreateBitmapFromUIImage(UIImage.FromFile("icons/olmarker.png"));
            markerStyleBuilder.HideIfOverlapped = false;
            markerStyleBuilder.Size             = 30;

            markerStyleBuilder.Color = new Carto.Graphics.Color(0, 255, 0, 255);

            startMarker         = new Marker(new MapPos(0, 0), markerStyleBuilder.BuildStyle());
            startMarker.Visible = false;

            markerStyleBuilder.Color = new Carto.Graphics.Color(255, 0, 0, 255);

            stopMarker         = new Marker(new MapPos(0, 0), markerStyleBuilder.BuildStyle());
            stopMarker.Visible = false;

            routeStartStopDataSource.Add(startMarker);
            routeStartStopDataSource.Add(stopMarker);

            markerStyleBuilder.Color  = new Carto.Graphics.Color(255, 255, 255, 255);
            markerStyleBuilder.Bitmap = BitmapUtils.CreateBitmapFromUIImage(UIImage.FromFile("icons/direction_up.png"));
            instructionUp             = markerStyleBuilder.BuildStyle();

            markerStyleBuilder.Bitmap = BitmapUtils.CreateBitmapFromUIImage(UIImage.FromFile("icons/direction_upthenleft.png"));
            instructionLeft           = markerStyleBuilder.BuildStyle();

            markerStyleBuilder.Bitmap = BitmapUtils.CreateBitmapFromUIImage(UIImage.FromFile("icons/direction_upthenright.png"));

            instructionRight = markerStyleBuilder.BuildStyle();

            // Style for instruction balloons
            balloonPopupStyleBuilder = new BalloonPopupStyleBuilder();
            balloonPopupStyleBuilder.TitleMargins = new BalloonPopupMargins(4, 4, 4, 4);

            // Finally animate map to Estonia
            MapView.FocusPos = BaseProjection.FromWgs84(new MapPos(25.662893, 58.919365));
            MapView.Zoom     = 7;

            Alert("Long-press on map to set route start and finish");
        }
        public override void ViewDidUnload()
        {
            base.ViewDidUnload();

            MapListener = null;
        }