private double[] GetCoordinatesFromAddress(long row, long col, int zoom) { MercatorProjection mp = new MercatorProjection(); double[] ret = new double[4]; GPoint tmp = mp.FromTileXYToPixel(new GPoint(col, row)); PointLatLng leftCenter = mp.FromPixelToLatLng(tmp, zoom); PointLatLng leftCenter1 = mp.FromPixelToLatLng(new GPoint(tmp.X + 1, tmp.Y), zoom); PointLatLng leftCenter2 = mp.FromPixelToLatLng(new GPoint(tmp.X, tmp.Y - 1), zoom); ret[0] = leftCenter1.Lng - leftCenter.Lng; ret[1] = leftCenter.Lat - leftCenter2.Lat; ret[2] = leftCenter.Lng; ret[3] = leftCenter.Lat; return(ret); }
public PointLatLng[] GetList(GMap.NET.Point tlb, GMap.NET.Point lrb, int zoom, IEnumerable <PointLatLng> _points) { IEnumerable <PointLatLng> _llList; GMap.NET.PointLatLng ptlb; GMap.NET.PointLatLng plrb; ptlb = _projection.FromPixelToLatLng(tlb, zoom); plrb = _projection.FromPixelToLatLng(lrb, zoom); _llList = from point in _points where point.Lat <= ptlb.Lat && point.Lng >= ptlb.Lng && point.Lat >= plrb.Lat && point.Lng <= plrb.Lng select point; return(_llList.ToArray()); }