private bool IsInsideMap(PixelCoordinates pixelCoordinates) { return(pixelCoordinates.X < (Width - _pinRadius) && pixelCoordinates.X > _pinRadius && pixelCoordinates.Y < Height && pixelCoordinates.Y > (_pinRadius * 2 + _pinOffset)); }
public virtual LatLonCoordinates PixelToLatLon(PixelCoordinates pixelCoordinates) { return(new LatLonCoordinates() { Longitude = _formulae.XToLongitude(pixelCoordinates.X), Latitude = _formulae.YToLatitude(pixelCoordinates.Y) }); }
private PixelCoordinates GetMarkerPixelCoordinates(Coordinates coordinates, int zoomLevel) { var worldCoords = new WorldCoordinates(coordinates); var deltaFromCentre = worldCoords - WorldCentre; var pixelDeltaFromCentre = new PixelCoordinates(deltaFromCentre, zoomLevel); return(GetPixelCentre(zoomLevel) + pixelDeltaFromCentre); }
public void BsonValueInCorrectFormatConvertsToPixelFormat() { var coord = new PixelCoordinates() { X = 1, Y = 2 }; var bson = coord.ToBsonDocument().AsBsonValue; var result = bson.toPixelCoordinate(); Assert.AreEqual(1, result.X); Assert.AreEqual(2, result.Y); }
public virtual LatLonCoordinates GetLatLonCenterForZoom(PixelCoordinates fixedPoint, double newLonSpan, double newLatSpan, double lonFactor, double latFactor) { var xFactor = fixedPoint.X / this.Map.Size.Width; var yFactor = fixedPoint.Y / this.Map.Size.Height; var latLonFixedPoint = this.PixelToLatLon(fixedPoint); return(new LatLonCoordinates() { Latitude = latLonFixedPoint.Latitude + newLatSpan * (yFactor - .5d), Longitude = latLonFixedPoint.Longitude + newLonSpan * (.5d - xFactor) }); }
public virtual LatLonCoordinates PixelToLatLon(PixelCoordinates pixelCoordinates) { if (this.Map.RotateReference) { var result = new LatLonCoordinates() { Longitude = pixelCoordinates.X * this.Map.Boundaries.LongitudeSpan / this.Map.Size.Width - this.Map.Boundaries.LongitudeHalfSpan, Latitude = this.Map.Boundaries.LatitudeHalfSpan - pixelCoordinates.Y * this.Map.Boundaries.LatitudeSpan / this.Map.Size.Height }; return(this.Map.Boundaries.Center.GetOldCoordinates(result)); } else { return(new LatLonCoordinates() { Longitude = this.Map.Boundaries.LeftNotBound + pixelCoordinates.X * this.Map.Boundaries.LongitudeSpan / this.Map.Size.Width, Latitude = this.Map.Boundaries.TopNotBound - pixelCoordinates.Y * this.Map.Boundaries.LatitudeSpan / this.Map.Size.Height }); } }
private IEnumerable <IEnumerable <PixelCoordinates> > getPoints(PolygonObject polygonObject, bool crossesLeftToRight, bool crossesRightToLeft) { var points = polygonObject.Polygon.Points; if (points == null) { return(new IEnumerable <PixelCoordinates> [0]); } else if (!crossesLeftToRight && !crossesRightToLeft) { return(new IEnumerable <PixelCoordinates>[] { points.Select(point => this.Map.Projection.LatLonToPixel(new LatLonCoordinates() { Latitude = point.Latitude, Longitude = point.Longitude.FixCoordinate(false) })).ToList() }); } else { var left = new PixelCoordinates[points.Length]; var right = new PixelCoordinates[points.Length]; for (int i = 0; i < points.Length; i++) { var point = points[i]; var rightPoint = crossesLeftToRight ? point : new LatLonCoordinates() { Latitude = point.Latitude, Longitude = point.Longitude + 360 }; var leftPoint = crossesRightToLeft ? point : new LatLonCoordinates() { Latitude = point.Latitude, Longitude = point.Longitude - 360 }; right[i] = this.Map.Projection.LatLonToPixel(rightPoint); left[i] = this.Map.Projection.LatLonToPixel(leftPoint); } return(new IEnumerable <PixelCoordinates>[] { right, left }); } }
public static System.Drawing.Point AsGdiPoint(this PixelCoordinates point) { return(new System.Drawing.Point((int)Math.Round(point.X), (int)Math.Round(point.Y))); }
public static System.Drawing.PointF AsGdiPointF(this PixelCoordinates point) { return(new System.Drawing.PointF((float)point.X, (float)point.Y)); }