public override void ViewDidLoad() { base.ViewDidLoad(); // Create PackageManager instance for dealing with offline packages string folder = Utils.GetDocumentDirectory("mappackages"); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); Console.WriteLine("Directory: Does not exist... Creating"); } else { Console.WriteLine("Directory: Exists"); } packageManager = new CartoPackageManager("nutiteq.osm", folder); packageManager.PackageManagerListener = PackageUpdateListener; packageManager.StartPackageListDownload(); ContentView = new PackageManagerListView(); View = ContentView; ContentView.AddRows(packageList); }
protected override void OnCreate(Android.OS.Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetBackgroundDrawable(new Android.Graphics.Drawables.ColorDrawable { Color = Colors.ActionBar }); Title = GetType().GetTitle(); // Create package manager File packageFolder = new File(ApplicationContext.GetExternalFilesDir(null), "regionpackages"); if (!(packageFolder.Mkdir() || packageFolder.IsDirectory)) { this.MakeToast("Could not create package folder!"); } try { packageManager = new CartoPackageManager("nutiteq.osm", packageFolder.AbsolutePath); } catch (IOException e) { this.MakeToast("Exception: " + e); Finish(); } // Initialize ListView SetContentView(Resource.Layout.List); packageAdapter = new PackageManagerAdapter(this, ListView, Resource.Layout.package_item_row, packageArray); ListView.Adapter = packageAdapter; }
public override void ViewDidLoad() { base.ViewDidLoad(); // Set packaged map controller button MenuButton = new MenuButton("icons/icon_map.png", new CGRect(0, 0, 30, 30)); NavigationItem.RightBarButtonItem = MenuButton; // Create PackageManager instance for dealing with offline packages string folder = Utils.GetDocumentDirectory("regionpackages"); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); Console.WriteLine("Directory: Does not exist... Creating"); } else { Console.WriteLine("Directory: Exists"); } packageManager = new CartoPackageManager("nutiteq.osm", folder); ContentView = new PackageManagerListView(); View = ContentView; ContentView.AddRows(packageList); }
protected void AddOfflineBaseLayer(CartoPackageManager manager, CartoBaseMapStyle style) { // Initialize map var baseLayer = new CartoOfflineVectorTileLayer(manager, style); MapView.Layers.Add(baseLayer); }
public void SetOfflineMode(CartoPackageManager manager) { System.Threading.Tasks.Task.Run(delegate { if (onlineLayer != null) { MapView.Layers.Remove((onlineLayer)); } if (offlineLayer == null) { offlineLayer = new CartoOfflineVectorTileLayer(manager, CartoBaseMapStyle.CartoBasemapStyleVoyager); offlineLayer.Preloading = true; } if (MapView.Layers.Count == 0) { MapView.Layers.Add(offlineLayer); } else { MapView.Layers.Insert(0, offlineLayer); } }); }
public bool OnMenuItemClick(IMenuItem item) { // Using static global variable to pass data. Avoid this in your app (memory leaks etc)! Manager = context.packageManager; Intent intent = new Intent(context, typeof(PackagedMapActivity)); context.StartActivity(intent); return true; }
public bool OnMenuItemClick(IMenuItem item) { // Using static global variable to pass data. Avoid this in your app (memory leaks etc)! Manager = context.packageManager; Intent intent = new Intent(context, typeof(PackagedMapActivity)); context.StartActivity(intent); return(true); }
public static void StartBboxDownload(CartoPackageManager packageManager) { // Bounding box download can be done now // For the country package download see OnPackageListUpdated in PackageListener //string bbox = "bbox(-0.8164,51.2382,0.6406,51.7401)"; // London (approx. 30MB) string bbox = "bbox(-73.581182, 41.013, -73.5811, 41.013503)"; if (packageManager.GetLocalPackage(bbox) == null) { packageManager.StartPackageDownload(bbox); } }
public static void InitializePackageManager(string packageFolder, string importPackagePath, IMapView mapView, string downloadedPackage) { // Offline base layer // Define listener, definition is in same class above var packageManager = new CartoPackageManager("nutiteq.osm", packageFolder); packageManager.PackageManagerListener = new PackageListener(packageManager, downloadedPackage); // Download new package list only if it is older than 24h // Note: this is only needed if pre-made packages are used if (packageManager.ServerPackageListAge > 24 * 60 * 60) { packageManager.StartPackageListDownload(); } // Start manager - mandatory packageManager.Start(); // Import initial package if (packageManager.GetLocalPackage("world0_4") == null) { packageManager.StartPackageImport("world0_4", 1, importPackagePath); } // Now can add vector map as layer // Define styling for vector map BinaryData styleBytes = AssetUtils.LoadAsset("nutibright-v2a.zip"); MBVectorTileDecoder vectorTileDecoder = null; if (styleBytes != null) { // Create style set var vectorTileStyleSet = new CompiledStyleSet(new ZippedAssetPackage(styleBytes)); vectorTileDecoder = new MBVectorTileDecoder(vectorTileStyleSet); } else { Log.Error("Failed to load style data"); } // Create online base layer (no package download needed then). Use vector style from assets (osmbright.zip) // comment in to use online map. Packagemanager stuff is not needed then //VectorTileLayer baseLayer = new NutiteqOnlineVectorTileLayer("osmbright.zip"); var baseLayer = new VectorTileLayer(new PackageManagerTileDataSource(packageManager), vectorTileDecoder); mapView.Layers.Add(baseLayer); }
public BasePackageManagerClient(string path) { Listener = new PackageListener(); if (path == null) { // Path can be null when we don't want to use the package manager, // such as in Online Routing and Route Search, // but they still utilize a Routing.cs, that inherits from this class return; } Manager = new CartoPackageManager(Source, path); }
public void SetOfflineMode(CartoPackageManager manager) { if (onlineLayer != null) { MapView.Layers.Remove((onlineLayer)); } if (offlineLayer == null) { offlineLayer = new CartoOfflineVectorTileLayer(manager, CartoBaseMapStyle.CartoBasemapStyleVoyager); offlineLayer.Preloading = true; } MapView.Layers.Add(offlineLayer); }
protected override void OnCreate(Android.OS.Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ContentView = new OfflineRoutingView(this); SetContentView(ContentView); Initialize(ContentView.MapView); RoutingPackageManager = Routing.PackageManager; // Create offline routing service connected to package manager Routing.Service = new PackageManagerRoutingService(RoutingPackageManager); Alert("This sample uses an online map, but downloads routing packages"); Alert("Click on the menu to see a list of countries that can be downloaded"); }
public override void ViewDidLoad() { base.ViewDidLoad(); Menu = new CityChoiceMenu(); Menu.Items = BoundingBoxes.List; MenuButton = new MenuButton("icons/icon_more.png", new CGRect(0, 10, 20, 30)); NavigationItem.RightBarButtonItem = MenuButton; string folder = CreateFolder("citypackages"); SetStatusLabel(); packageManager = new CartoPackageManager("nutiteq.osm", folder); SetBaseLayer(); }
protected override void OnCreate(Android.OS.Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Title = GetType().GetTitle(); ActionBar.Subtitle = GetType().GetDescription(); ContentView = new BasicPackageManagerView(this); SetContentView(ContentView); string folder = CreateFolder("citypackages"); manager = new CartoPackageManager("nutiteq.osm", folder); ContentView.Menu.Items = BoundingBoxes.List; ContentView.SetBaseLayer(manager); Alert("Choose a city from the menu to download its bounding box"); }
protected override void OnCreate(Android.OS.Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ContentView = new OfflineRoutingView(this); SetContentView(ContentView); Initialize(ContentView.MapView); RoutingPackageManager = Routing.PackageManager; // Routing packages are as compact as possible, // so we create a second package manager to download region packages that contain names // This is only necessary for displaying them in a list. Download is by id MapPackageManager = new CartoPackageManager("nutiteq.osm", Routing.CreateFolder("regionpackages")); // Create offline routing service connected to package manager Routing.Service = new PackageManagerRoutingService(RoutingPackageManager); Alert("This sample uses an online map, but downloads routing packages"); Alert("Click on the menu to see a list of countries that can be downloaded"); }
protected override void OnCreate(Android.OS.Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Register license MapView.RegisterLicense(LICENSE, ApplicationContext); // Create package manager File packageFolder = new File(ApplicationContext.GetExternalFilesDir(null), "mappackages"); if (!(packageFolder.Mkdir() || packageFolder.IsDirectory)) { this.MakeToast("Could not create package folder!"); } try { packageManager = new CartoPackageManager("nutiteq.osm", packageFolder.AbsolutePath); } catch (IOException e) { this.MakeToast("Exception: " + e); Finish(); } packageManager.PackageManagerListener = PackageUpdateListener; packageManager.StartPackageListDownload(); // Initialize ListView SetContentView(Resource.Layout.List); packageAdapter = new PackageManagerAdapter(this, Resource.Layout.package_item_row, packageArray); ListView.Adapter = packageAdapter; ActionBar.SetDisplayHomeAsUpEnabled(true); }
public PackagedMapController(CartoPackageManager manager) { this.manager = manager; }