Beispiel #1
0
        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);
        }
Beispiel #2
0
        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());
        }