Example #1
0
 protected override void DisposeManagedResources()
 {
     base.DisposeManagedResources();
     Model = null;
     VisibleRegion.Dispose();
     VisibleRegion = null;
 }
 public static MapRegion ToRegion(this VisibleRegion visibleRegion)
 {
     return(new MapRegion(
                visibleRegion.NearLeft.ToPosition(),
                visibleRegion.NearRight.ToPosition(),
                visibleRegion.FarLeft.ToPosition(),
                visibleRegion.FarRight.ToPosition()
                ));
 }
Example #3
0
        //Map click event.
        public void OnMapClick(LatLng latLng)
        {
            mTapView.Text = "point=" + latLng + "is tapped";
            Point point = hMap.Projection.ToScreenLocation(latLng);

            mToPointView.Text = "to point, point=" + point;
            LatLng newLatlng = hMap.Projection.FromScreenLocation(point);

            mToLatLngView.Text = "to latlng, latlng=" + newLatlng;
            VisibleRegion visibleRegion = hMap.Projection.VisibleRegion;

            Log.Info(TAG, visibleRegion.ToString());
        }
Example #4
0
        void OnMarkerClicked(object sender, GoogleMap.MarkerClickEventArgs e)
        {
            CancelPinAnimation();

            customMap.OnSelect = true;
            var pintoadd   = new PinModel();
            var customView = e.Marker;

            System.Diagnostics.Debug.WriteLine("Position of marker: {0}, {1}", customView.Position.Latitude, customView.Position.Longitude);

            foreach (X.Models.PinModel pin in customMap.CustomPin)
            {
                System.Diagnostics.Debug.WriteLine("Custom pin position: {0}, {1}", pin.Position.Latitude, pin.Position.Longitude);
                System.Diagnostics.Debug.WriteLine("\tdLat = {0}", Math.Abs(pin.Position.Latitude - customView.Position.Latitude));
                System.Diagnostics.Debug.WriteLine("\tdLon = {0}", Math.Abs(pin.Position.Longitude - customView.Position.Longitude));
                if (customView.Snippet.Equals(pin.Id))
                {
                    pintoadd = pin;
                    break;
                }
            }
            VisibleRegion visibleRegion = NativeMap.Projection.VisibleRegion;

            NativeMap.Clear();
            marketList.Clear();

            //var dMeters = 0.004 * NativeMap.Projection.VisibleRegion.;
            //var dLat = dMeters / 111.11;
            var bounds = NativeMap.Projection.VisibleRegion.LatLngBounds;
            var dLat   = 0.01 * (bounds.Northeast.Latitude - bounds.Southwest.Latitude);

            LatLng latlng = new LatLng(pintoadd.Position.Latitude - dLat, pintoadd.Position.Longitude);

            NativeMap.MoveCamera(CameraUpdateFactory.NewLatLng(latlng));
            //pintoadd.Emojis.Clear();
            NativeMap.AddMarker(CreateMarker(pintoadd));
            customMap.showInfoBox(pintoadd.Id);
        }