Exemple #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            locationManager.RequestWhenInUseAuthorization();
            View.UserInteractionEnabled = true;
            LocationContainer.Hidden    = locsHide;

            // Create Map
            mapDel       = new MyMapDelegate();
            map.Delegate = mapDel;

            map.MapType           = MKMapType.Standard;
            map.ShowsUserLocation = true;

            View = map;
            View.AddSubview(SearchView);
            View.AddSubview(LocationContainer);


            // set map center and region
            const double lat       = 43.161030;
            const double lon       = -77.610924;
            var          mapCenter = new CLLocationCoordinate2D(lat, lon);
            var          mapRegion = MKCoordinateRegion.FromDistance(mapCenter, 20000, 20000);

            map.CenterCoordinate = mapCenter;
            map.Region           = mapRegion;


            //Create Serach Bar
            searchResultsController = new SearchResultsViewController(map);
            var searchUpdater = new SearchResultsUpdator();

            searchUpdater.UpdateSearchResults += searchResultsController.Search;

            //add the search controller
            searchController = new UISearchController(searchResultsController)
            {
                SearchResultsUpdater = searchUpdater
            };


            SearchView.AddSubview(searchController.SearchBar);
            SearchView.BackgroundColor = new UIColor(255, 255, 255, (System.nfloat) .20);

            searchController.SearchBar.SizeToFit();
            searchController.SearchBar.SearchBarStyle = UISearchBarStyle.Minimal;
            searchController.SearchBar.Placeholder    = "Find Locations You Want To Save";

            searchController.HidesNavigationBarDuringPresentation = false;


            DefinesPresentationContext = true;
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			locationManager.RequestWhenInUseAuthorization ();

			// set map type and show user location
			map.MapType = MKMapType.Standard;
			map.ShowsUserLocation = true;
			map.Bounds = View.Bounds;

			// set map center and region
			const double lat = 42.374260;
			const double lon = -71.120824;
			var mapCenter = new CLLocationCoordinate2D (lat, lon);
			var mapRegion = MKCoordinateRegion.FromDistance (mapCenter, 2000, 2000);
			map.CenterCoordinate = mapCenter;
			map.Region = mapRegion;

			// add an annotation
			map.AddAnnotation (new MKPointAnnotation {
				Title = "MyAnnotation", 
				Coordinate = new CLLocationCoordinate2D (42.364260, -71.120824)
			});

			// set the map delegate
			mapDel = new MyMapDelegate ();
			map.Delegate = mapDel;

			// add a custom annotation
			map.AddAnnotation (new MonkeyAnnotation ("Xamarin", mapCenter));

			// add an overlay
			var circleOverlay = MKCircle.Circle (mapCenter, 1000);
			map.AddOverlay (circleOverlay);

			var searchResultsController = new SearchResultsViewController (map);


			var searchUpdater = new SearchResultsUpdator ();
			searchUpdater.UpdateSearchResults += searchResultsController.Search;

			//add the search controller
			searchController = new UISearchController (searchResultsController) {
				SearchResultsUpdater = searchUpdater
			};

			searchController.SearchBar.SizeToFit ();
			searchController.SearchBar.SearchBarStyle = UISearchBarStyle.Minimal;
			searchController.SearchBar.Placeholder = "Enter a search query";

			searchController.HidesNavigationBarDuringPresentation = false;
			NavigationItem.TitleView = searchController.SearchBar;
			DefinesPresentationContext = true;
		}
Exemple #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            var geocoder = new CLGeocoder();

            locationManager = new CLLocationManager();
            locationManager.RequestWhenInUseAuthorization();
            //locationManager.RequestLocation(); // Only should be called once
            locationMap.ShowsUserLocation = true;
            MKCoordinateRegion region;
            MKCoordinateSpan   span;

            region.Center       = locationMap.UserLocation.Coordinate;
            span.LatitudeDelta  = 0.005;
            span.LongitudeDelta = 0.005;
            region.Span         = span;
            locationMap.SetRegion(region, true);

            locationMap.MapType = MKMapType.Standard;
            var searchResultsController = new chooseLocationResultViewController(locationMap);

            var searchUpdater = new SearchResultsUpdator();

            searchUpdater.UpdateSearchResults += searchResultsController.Search;

            //add the search controller
            searchController = new UISearchController(searchResultsController)
            {
                SearchResultsUpdater = searchUpdater
            };

            searchController.SearchBar.SizeToFit();
            searchController.SearchBar.SearchBarStyle             = UISearchBarStyle.Prominent;
            searchController.SearchBar.Placeholder                = "Enter a search query";
            searchController.HidesNavigationBarDuringPresentation = false;
            NavigationItem.TitleView   = searchController.SearchBar;
            DefinesPresentationContext = true;


            // When the user wants to choose the location manually
            locationMap.RegionChanged += (sender, e) =>
            {
                if (setLocation == true)
                {
                    var coordinate = locationMap.CenterCoordinate;
                    var coor       = new CLLocation(coordinate.Latitude, coordinate.Longitude);
                    geocoder.ReverseGeocodeLocation(coor, HandleCLGeocodeCompletionHandler);
                }
            };
        }
Exemple #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            map = new MKMapView(new RectangleF(0, 0, 320, 620))
            {
                ShowsUserLocation = true,
                ZoomEnabled       = true,
                ScrollEnabled     = true
            };

            Add(map);

            var searchResultsController = new SearchResultsViewController(map);

            var searchUpdater = new SearchResultsUpdator();

            searchUpdater.UpdateSearchResults += searchResultsController.Search;

            searchController = new UISearchController(searchResultsController)
            {
                SearchResultsUpdater = searchUpdater
            };

            searchController.SearchBar.SizeToFit();
            searchController.SearchBar.SearchBarStyle             = UISearchBarStyle.Minimal;
            searchController.SearchBar.Placeholder                = "Enter a search query";
            searchController.HidesNavigationBarDuringPresentation = false;

            DefinesPresentationContext = true;
            NavigationItem.TitleView   = searchController.SearchBar;

            map.Delegate = mapDelegate;

            var secondViewModel = (SecondViewModel)ViewModel;

            CreateRoute();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var navController = new UINavigationController();

            navController.NavigationBarHidden = false;

            this.NavigationItem.Title = "MAPA";

            //zobrazeni mapy na obrazovce
            MKMapView mapa = new MKMapView(View.Bounds);

            mapa.AutoresizingMask = UIViewAutoresizing.FlexibleDimensions;
            mapa.ZoomEnabled      = true;
            View.AddSubview(mapa);

            mapa.ShowsScale = true;

            mapa.ShowsPointsOfInterest = true;

            mapa.ShowsCompass = true;

            mapa.ShowsTraffic = true;



            //zobrazeni tlacitka pro polohu uzivatele
            var buttonLokace = MKUserTrackingButton.FromMapView(mapa);

            buttonLokace.Frame = new CGRect(320, 550, 32, 32);
            buttonLokace.Layer.BackgroundColor = UIColor.White.CGColor;
            buttonLokace.Layer.BorderColor     = UIColor.FromRGB(0, 122, 255).CGColor;
            buttonLokace.Layer.BorderWidth     = 1;
            buttonLokace.Layer.CornerRadius    = 5;
            View.AddSubview(buttonLokace);

            //zobrazeni hlasky pro povoleni lokacnich sluzeb a nastaveni lokalizace uzivatele na true
            lokace.RequestWhenInUseAuthorization();

            //zobrazeni uzivatelovy polohy
            mapa.ShowsUserLocation = true;

            //vycentrovani mapy na pozici uzivatele

            /*mapa.DidUpdateUserLocation += (sender, e) =>
             * {
             *  if (mapa.UserLocation != null)
             *  {
             *      CLLocationCoordinate2D souradnice = mapa.UserLocation.Coordinate;
             *      //nastaveni rozsahu zobrazovani mapy
             *      MKCoordinateSpan rozsah = new MKCoordinateSpan(MileNaZemepisnouSirku(0.25), MileNaZemepisnouDelku((0.25), souradnice.Latitude));
             *      mapa.Region = new MKCoordinateRegion(souradnice, rozsah);
             *
             *  }
             * };*/

            //pokud uzivatel nepovoli lokacni sluzby anebo nejsou k dispozici, mapa se vycentruje na Prahu a okoli
            if (!mapa.UserLocationVisible)
            {
                CLLocationCoordinate2D souradnice = new CLLocationCoordinate2D(50.1025011, 14.475905300000022);
                MKCoordinateSpan       rozsah     = new MKCoordinateSpan(MileNaZemepisnouSirku(10), MileNaZemepisnouDelku(10, souradnice.Latitude));
                mapa.Region = new MKCoordinateRegion(souradnice, rozsah);
            }

            //VYHLEDAVANI
            var searchResultsController = new SearchResultsViewController(mapa);
            var searchUpdater           = new SearchResultsUpdator();

            searchUpdater.UpdateSearchResults += searchResultsController.Search;

            searchController = new UISearchController(searchResultsController)
            {
                SearchResultsUpdater = searchUpdater
            };

            searchController.SearchBar.SizeToFit();
            searchController.SearchBar.SearchBarStyle             = UISearchBarStyle.Minimal;
            searchController.SearchBar.Placeholder                = "Vyhledejte váš oblíbený hrad či zámek...";
            searchController.HidesNavigationBarDuringPresentation = false;
            NavigationItem.TitleView   = searchController.SearchBar;
            DefinesPresentationContext = true;

            mapa.GetViewForAnnotation += GetViewForAnnotation;

            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Mělník",
                Coordinate = new CLLocationCoordinate2D(50.3508344, 14.4730828)
            });
            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Lednice",
                Coordinate = new CLLocationCoordinate2D(48.8016903, 16.8054806)
            });
            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Kácov",
                Coordinate = new CLLocationCoordinate2D(49.7768931, 15.0282231)
            });
            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Slavkov",
                Coordinate = new CLLocationCoordinate2D(49.1547997, 16.8745169)
            });
            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Pernštejn",
                Coordinate = new CLLocationCoordinate2D(49.4509142, 16.3182508)
            });
            mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Žebrák",
                Coordinate = new CLLocationCoordinate2D(49.8868308, 13.8815631)
            }); mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Karlštejn",
                Coordinate = new CLLocationCoordinate2D(49.9391167, 14.1882903)
            }); mapa.AddAnnotations(new MKPointAnnotation()
            {
                Title      = "Křivoklát",
                Coordinate = new CLLocationCoordinate2D(50.0378419, 13.8722575)
            });
            mapa.AddAnnotation(new MKPointAnnotation()
            {
                Title      = "Houska",
                Coordinate = new CLLocationCoordinate2D(50.4909178, 14.6240339)
            });
            mapa.AddAnnotation(new MKPointAnnotation()
            {
                Title      = "Točník",
                Coordinate = new CLLocationCoordinate2D(49.8906097, 13.8872011)
            });
        }