Esempio n. 1
0
        public void SetMbTilesAsBackground(string mbtilesFileName)
        {
            // Remove previous TileOverlay if created
            if (TileOverlay != null)
            {
                //TileOverlay.Remove();
                return;
            }

            // Make Db Context Options Builder to create sqlite db builder
            DbContextOptionsBuilder <TileContext> myContextBuilder = new DbContextOptionsBuilder <TileContext>();

            myContextBuilder.UseSqlite($"Filename={mbtilesFileName}");

            // Initialize TileContext with this builder
            TileContext tileContext = new TileContext(myContextBuilder.Options);

            // Create TileService with this TileConext
            ReadOnlyTileService readOnlyTileService = new ReadOnlyTileService(tileContext);

            // Create CustomTileProvider with this TileService
            CustomTileProvider customTileProvider = new CustomTileProvider(readOnlyTileService);

            // And finally, create the TileOverlayOptions
            TileOverlayOptions options = new TileOverlayOptions().InvokeZIndex(0f)
                                         .InvokeTileProvider(customTileProvider);

            // And TileOverlay
            GoogleMap map = (GoogleMap)LayerService.CurrentMap;

            TileOverlay = map.AddTileOverlay(options);
        }
Esempio n. 2
0
        protected override NativeTileOverlay CreateNativeItem(TileLayer outerItem)
        {
            var opts = new TileOverlayOptions();

            ITileProvider nativeTileProvider;

            if (outerItem.MakeTileUri != null)
            {
                nativeTileProvider = new DroidUrlTileLayer(outerItem.MakeTileUri, outerItem.TileSize);
            }
            else if (outerItem.TileImageSync != null)
            {
                nativeTileProvider = new DroidSyncTileLayer(outerItem.TileImageSync, outerItem.TileSize);
            }
            else
            {
                nativeTileProvider = new DroidAsyncTileLayer(outerItem.TileImageAsync, outerItem.TileSize);
            }
            var nativeTileOverlay = NativeMap.AddTileOverlay(
                opts.InvokeTileProvider(nativeTileProvider)
                .InvokeZIndex(outerItem.ZIndex));

            // associate pin with marker for later lookup in event handlers
            outerItem.NativeObject = nativeTileOverlay;
            return(nativeTileOverlay);
        }
Esempio n. 3
0
        protected override void OnElementChanged(ElementChangedEventArgs <Map> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                return;
            }
            mapView   = Control;
            customMap = e.NewElement as CustomMap;

            if (customMap != null)
            {
                var tileProvider = new CustomTileProvider(512, 512, customMap.MapTileTemplate);
                var options      = new TileOverlayOptions().InvokeTileProvider(tileProvider);

                mapView.Map.AddTileOverlay(options);
            }

            if (mapView?.Map != null)
            {
                mapView.Map.InfoWindowClick += MapOnInfoWindowClick;
            }


            if (customMap != null)
            {
                ((ObservableCollection <Pin>)customMap.Pins).CollectionChanged += OnCollectionChanged;
            }
        }
Esempio n. 4
0
        protected override void OnResume()
        {
            if (mGoogleMap == null)
            {
                mGoogleMap = ((MapFragment)FragmentManager.FindFragmentById(Resource.Id.map)).Map;

                if (mGoogleMap != null)
                {
                    mGoogleMap.MyLocationEnabled = true;

                    var mbProvider = new MBTilesProvider();
                    var mbOptions  = new TileOverlayOptions();
                    mGoogleMap.AddTileOverlay(mbOptions.InvokeTileProvider(mbProvider));

                    //var bounds = mbProvider.bounds ();
                    //var update = CameraUpdateFactory.NewLatLngBounds(
                    //	new LatLngBounds(new LatLng(bounds[1],bounds[0]),new LatLng(bounds[3],bounds[2])),
                    //	600,600,10
                    //);

                    var zoomLatLng = mbProvider.zoomLatLng();

                    var update = CameraUpdateFactory.NewLatLngZoom(
                        new LatLng(zoomLatLng[2], zoomLatLng [1]),
                        (float)zoomLatLng [0]
                        );

                    mGoogleMap.MoveCamera(update);
                }
            }
            base.OnResume();
        }
Esempio n. 5
0
        private void UpdateTile()
        {
            var tileProvider = new CustomTileProvider(512, 512, customMap.MapTileTemplate);
            var options      = new TileOverlayOptions().InvokeTileProvider(tileProvider);

            mapView.Map.AddTileOverlay(options);
        }
Esempio n. 6
0
        public void OnMapReady(GoogleMap googleMap)
        {
            map = googleMap;
            var options = new TileOverlayOptions();

            options.InvokeTileProvider(new CustomTileProvider(0));

            map.MapType = GoogleMap.MapTypeNone;
            map.AddTileOverlay(options);
            map.SetOnMarkerClickListener(this);

            map.UiSettings.ZoomControlsEnabled = true;
            map.SetMaxZoomPreference(18);

            map.AddMarker(new MarkerOptions().SetPosition(new LatLng(-27.47093, 153.0235)).SetTitle("HOME"));

            GeoCode mGeoCode = new GeoCode("Тюмень, ул. Широтная, д. 158, к. 1");

            mGeoCode.Complited += (pos, lowerCorner, upperCorner) =>
            {
                RunOnUiThread(() =>
                {
                    map.AddMarker(new MarkerOptions().SetPosition(pos).SetTitle("HOME"));
                    map.MoveCamera(CameraUpdateFactory.NewLatLngBounds(new LatLngBounds(lowerCorner, upperCorner), 0));
                });
            };
            mGeoCode.Error += e =>
            {
                Toast.MakeText(this, e.ToString(), ToastLength.Short).Show();
            };
        }
Esempio n. 7
0
        public void OnMapReady(GoogleMap googleMap)
        {
            var options = new TileOverlayOptions();

            //options.InvokeTileProvider(new DistantTileProvider(Host));
            options.InvokeTileProvider(new LocalTileProvider());
            googleMap.MapType = GoogleMap.MapTypeNone;
            googleMap.AddTileOverlay(options);
        }
Esempio n. 8
0
        private void AddTrackerForOverlay(SKMapOverlay sharedOverlay)
        {
            OverlayTrackerTileProvider tracker        = new OverlayTrackerTileProvider(Context, NativeMap, sharedOverlay);
            TileOverlayOptions         overlayOptions = new TileOverlayOptions().InvokeTileProvider(tracker);
            TileOverlay overlay = NativeMap.AddTileOverlay(overlayOptions);

            tracker.TileOverlay = overlay;
            _TileTrackers.Add(tracker);
        }
Esempio n. 9
0
        private void AddTileOverlay(TileOverlay tileOverlay)
        {
            TileOverlayOptions options = new TileOverlayOptions();

            if (tileOverlay is UrlTileOverlay)
            {
                options.InvokeTileProvider(new UrlTileOverlayProvider(tileOverlay as UrlTileOverlay));
            }

            tileOverlays.Add(tileOverlay, googleMap.AddTileOverlay(options));
        }
        public void OnMapReady(HuaweiMap map)
        {
            Log.Debug(TAG, "OnMapReady: ");
            hMap = map;
            hMap.UiSettings.MyLocationButtonEnabled = false;
            hMap.MoveCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng(48.893478, 2.334595), 10));
            TileProvider       mTileProvider = new TileProvider();
            TileOverlayOptions options       =
                new TileOverlayOptions().InvokeTileProvider(mTileProvider).InvokeTransparency(0.5f).InvokeFadeIn(true);


            hMap.AddTileOverlay(options);
        }
Esempio n. 11
0
 void SetMapType(int type)
 {
     if (type == 0)
     {
         RemoveTile();
         _map.MapType = GoogleMap.MapTypeNormal;
     }
     if (type == 1)
     {
         RemoveTile();
         _map.MapType = GoogleMap.MapTypeSatellite;
     }
     if (type == 2)
     {
         RemoveTile();
         _map.MapType = GoogleMap.MapTypeTerrain;
     }
     if (type == 3)
     {
         RemoveTile();
         _map.MapType = GoogleMap.MapTypeHybrid;
     }
     if (type == 4)
     {
         RemoveTile();
         var tileOptions = new TileOverlayOptions();
         _tileOverlay = _map.AddTileOverlay(tileOptions.InvokeTileProvider(_osmTileLayer));
         _map.MapType = GoogleMap.MapTypeNone;
     }
     if (type == 5)
     {
         RemoveTile();
         var tileOptions = new TileOverlayOptions();
         _tileOverlay = _map.AddTileOverlay(tileOptions.InvokeTileProvider(_ocmTileLayer));
         _map.MapType = GoogleMap.MapTypeNone;
     }
     if (type == 6)
     {
         RemoveTile();
         _map.MapType = GoogleMap.MapTypeNone;
     }
 }
Esempio n. 12
0
        protected override void OnMapReady(GoogleMap map)
        {
            if (IsInitialized)
            {
                return;
            }

            if (map != null)
            {
                base.OnMapReady(map);

                // Disable the zoom-in and zoom-out buttons in any case
                map.UiSettings.ZoomControlsEnabled = false;

                // Disable rotation, so that the rotation button doesn't appear
                map.UiSettings.RotateGesturesEnabled = false;

                map.MapType = GoogleMap.MapTypeNone;

                // Find a better way to get dependencies
                TileOverlayOptions options = new TileOverlayOptions().InvokeZIndex(0f)
                                             .InvokeTileProvider(new CustomTileProvider(
                                                                     (IReadOnlyTileService)((App)Application.Current).Container.Resolve(typeof(IReadOnlyTileService))));

                TileOverlay = map.AddTileOverlay(options);

                IsInitialized = true;

                PointHandler = new PointHandler
                {
                    Map    = map,
                    Points = CustomMap.Points,
                };
                PointHandler.OnMapClicked += OnMapClicked;
            }
        }