Ejemplo n.º 1
0
        private async void Map_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            _googleMap = sender as GoogleMap;

            var customMap = Element as CustomMap;

            if (customMap != null && _googleMap != null)
            {
                var visible = _googleMap.Projection.VisibleRegion;
                var center  = visible.LatLngBounds.Center;

                if (center != null)
                {
                    App.CurrentLatitude  = center.Latitude;
                    App.CurrentLongitude = center.Longitude;
                    App.CurrentZoom      = e.Position.Zoom;
                }

                if (customMap.OnVisibleRegionChanged != null)
                {
                    var farLeftLatitude  = Math.Round(visible.FarLeft.Latitude, 2).ToString();
                    var farLeftLongitude = Math.Round(visible.FarLeft.Longitude, 2).ToString();

                    var nearRightLatitude  = Math.Round(visible.NearRight.Latitude, 2).ToString();
                    var nearRightLongitude = Math.Round(visible.NearRight.Longitude, 2).ToString();

                    var nearRight = nearRightLatitude + "," + nearRightLongitude;
                    var farLeft   = farLeftLatitude + "," + farLeftLongitude;

                    await customMap.OnVisibleRegionChanged(nearRight, farLeft);
                }
            }
        }
Ejemplo n.º 2
0
 void OnCameraChanged(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     _cameraPositionHandler.RemoveMessages(1);
     _cameraPositionHandler.RemoveMessages(2);
     _cameraPositionHandler.SendEmptyMessageDelayed(1, 300);
     _cameraPositionHandler.SendEmptyMessageDelayed(2, 600);
 }
Ejemplo n.º 3
0
 private void Map_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     if (e?.Position?.Target != null)
     {
         chunkHandler?.UpdateCoordinate(e.Position.Target.Latitude, e.Position.Target.Longitude);
     }
 }
Ejemplo n.º 4
0
        private async void _googleMap_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            // This
            //if (_xamarinMap.OnSearchLocation != null)
            //    _xamarinMap.OnSearchLocation();

            MarkerOptions markerOpt1 = new MarkerOptions();

            markerOpt1.SetPosition(new LatLng(14.652641438532108, 121.0489296913147));
            markerOpt1.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed));
            markerOpt1.SetTitle("Bag Location");
            _googleMap.AddMarker(markerOpt1);

            MarkerOptions markerOpt2 = new MarkerOptions();

            markerOpt2.SetPosition(new LatLng(14.657374623605888, 121.05620384216309));
            markerOpt2.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueBlue));
            markerOpt2.SetTitle("Current Location");
            _googleMap.AddMarker(markerOpt2);

            MarkerOptions markerOpt3 = new MarkerOptions();

            markerOpt3.SetPosition(new LatLng(35.652832, 139.839478));
            markerOpt3.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed));
            markerOpt3.SetTitle("Bag Location");
            _googleMap.AddMarker(markerOpt3);

            var a = new LatLng(14.652641438532108, 121.0489296913147);
            var b = new LatLng(14.657374623605888, 121.05620384216309);

            await GetRouteInfo(a, b);

            // or this
            //MessagingCenter.Send<object>(this, "RegionChanged");
        }
Ejemplo n.º 5
0
 void OnCameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     if (_zoom != e.P0.Zoom)
     {
         Main.Prefs.SetDouble("MapZoom", e.P0.Zoom);
         _zoom = e.P0.Zoom;
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// When the camera position changed
        /// </summary>
        /// <param name="sender">Event Sender</param>
        /// <param name="e">Event Arguments</param>
        private void OnCameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            if (this.FormsMap == null)
            {
                return;
            }

            this.FormsMap.MapCenter = e.Position.Target.ToPosition();
            base.OnCameraChange(e.Position);
        }
        private void _googleMap_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            // This
            if (_xamarinMap.OnRegionChanged != null)
            {
                _xamarinMap.OnRegionChanged();
            }

            // or this
            MessagingCenter.Send <object>(this, "RegionChanged");
        }
Ejemplo n.º 8
0
        private void OnCameraChange(object sender, GoogleMap.CameraChangeEventArgs args)
        {
            if (_map.CameraPosition.Zoom != _previousZoomValue)
            {
                _previousZoomValue = _map.CameraPosition.Zoom;
                this.RaiseZoomChangedEvent();
            }

            var bounds = _map.Projection.VisibleRegion.LatLngBounds;

            this.RaiseCameraLocationChanged(
                args.Position.Target.ToGeoPoint(),
                new GeoRect(bounds.Northeast.ToGeoPoint(), bounds.Southwest.ToGeoPoint()));
        }
Ejemplo n.º 9
0
        private void GoogleMap_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            float        zoom   = googleMap.CameraPosition.Zoom;
            LatLngBounds bounds = googleMap.Projection.VisibleRegion.LatLngBounds;

            // Adjust multistops visibility
            foreach (var pair in multiStopGrayMarkers)
            {
                pair.Value.Visible = zoom < DetailsThreshold;// && bounds.Contains(pair.Value.Position);
            }
            foreach (var pair in multiStopDetailMarkers)
            {
                pair.Value.Visible = zoom >= DetailsThreshold;// && bounds.Contains(pair.Value.Position);
            }
            // Adjust bus stops visibility
            foreach (var pair in singleStopMarkers)
            {
                pair.Value.Visible = pair.Key.Line.Type == LineType.Tram || zoom >= DetailsThreshold;// && bounds.Contains(pair.Value.Position);
            }
        }
Ejemplo n.º 10
0
 private void Native_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     if (firstTime)
     {
         firstTime = false;
         var loc = map?.CurrentLocation;
         if (loc == null)
         {
             loc = MainActivity.Instance.GetLastKnownLocation();
         }
         if (loc == null)
         {
             loc = new GeoLocation(0, 0);
         }
         var cameraUpdate = CameraUpdateFactory.NewLatLngZoom(new LatLng(loc.Latitude, loc.Longitude), 15);
         native.MoveCamera(cameraUpdate);
     }
     else
     {
         LocationChanged(e.Position.Target);
     }
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Camera position changed handler.
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="e"></param>
        public void CameraPositionChanged(object obj, GoogleMap.CameraChangeEventArgs e)
        {
            Geocoder geoCoder = new Geocoder(this);

            marker        = new List <Marker>();
            markerOptions = new List <MarkerOptions>();
            try
            {
                if (_location != null)
                {
                    var addressList = geoCoder.GetFromLocation(e.Position.Target.Latitude, e.Position.Target.Longitude, 5);
                    foreach (var address in addressList)
                    {
                        markerOptions.Add(new MarkerOptions().SetPosition(new LatLng(e.Position.Target.Latitude, e.Position.Target.Longitude))
                                          .SetTitle(address.GetAddressLine(0) + address.GetAddressLine(1)).Draggable(false));
                    }

                    int count = markerOptions.Count;
                    foreach (var markerOp in markerOptions)
                    {
                        count--;
                        if (count > 0)
                        {
                            marker.Add(_googleMap.AddMarker(markerOp));
                        }
                    }

                    foreach (var mark in marker)
                    {
                        mark.ShowInfoWindow();
                    }
                    Toast.MakeText(this, "Session Timed Out. Unable to reach the server", ToastLength.Long);
                }
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, "Session Timed Out. Unable to reach the server", ToastLength.Long);
            }
        }
Ejemplo n.º 12
0
        private void GoogleMap_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
        {
            // Update bounds
            cameraBounds   = googleMap.Projection.VisibleRegion.LatLngBounds;
            cameraPosition = googleMap.CameraPosition;

            // Update lines visibility
            bool showBuses = e.Position.Zoom >= BusZoomLimit;

            foreach (Line line in TramUrWayApplication.Lines)
            {
                foreach (Route route in line.Routes)
                {
                    Polyline polyline;
                    if (!routeLines.TryGetValue(route, out polyline))
                    {
                        continue;
                    }

                    if (line.Type == LineType.Bus)
                    {
                        polyline.Visible = showBuses;
                    }
                }
            }

            // Update markers visibility
            foreach (var pair in transportMarkers)
            {
                bool visible = pair.Key.Route.Line.Type == LineType.Tram || showBuses;
                if (visible)
                {
                    visible = cameraBounds.Contains(pair.Value.Position);
                }

                pair.Value.Visible            = visible;
                markersVisibility[pair.Value] = visible;
            }
        }
Ejemplo n.º 13
0
 private void MapOnCameraChange(object sender, GoogleMap.CameraChangeEventArgs cameraChangeEventArgs)
 {
     _center = cameraChangeEventArgs.P0.Target;
     CenterChanged.Raise(this);
 }
Ejemplo n.º 14
0
 void NativeMap_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     UpdatePosition(e.Position);
 }
Ejemplo n.º 15
0
 private void OnMapCameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     _img.Visibility = Android.Views.ViewStates.Invisible;
     Render();
     _img.Visibility = Android.Views.ViewStates.Visible;
 }
Ejemplo n.º 16
0
 void Map_CameraChange(object sender, GoogleMap.CameraChangeEventArgs e)
 {
     CloseDetail();
 }