private void CenterMap() { mapCenter.Latitude = Latitude; mapCenter.Longitude = Longitude; mapWorldCenter.x = GoogleMapUtil.LonToX(mapCenter.Longitude); mapWorldCenter.y = GoogleMapUtil.LatToY(mapCenter.Latitude); mapScale.x = GoogleMapUtil.CalculateScaleX(Latitude, MapTileSizePixels, MapTileScale, MapTileZoomLevel); mapScale.y = GoogleMapUtil.CalculateScaleY(Longitude, MapTileSizePixels, MapTileScale, MapTileZoomLevel); var lon1 = GoogleMapUtil.AdjustLonByPixels(Longitude, -MapTileSizePixels / 2, MapTileZoomLevel); var lat1 = GoogleMapUtil.AdjustLatByPixels(Latitude, MapTileSizePixels / 2, MapTileZoomLevel); var lon2 = GoogleMapUtil.AdjustLonByPixels(Longitude, MapTileSizePixels / 2, MapTileZoomLevel); var lat2 = GoogleMapUtil.AdjustLatByPixels(Latitude, -MapTileSizePixels / 2, MapTileZoomLevel); mapEnvelope = new MapEnvelope(lon1, lat1, lon2, lat2); lon1 = GoogleMapUtil.AdjustLonByPixels(Longitude, -MapTileSizePixels * 3 / 2, MapTileZoomLevel); lat1 = GoogleMapUtil.AdjustLatByPixels(Latitude, MapTileSizePixels * 3 / 2, MapTileZoomLevel); lon2 = GoogleMapUtil.AdjustLonByPixels(Longitude, MapTileSizePixels * 3 / 2, MapTileZoomLevel); lat2 = GoogleMapUtil.AdjustLatByPixels(Latitude, -MapTileSizePixels * 3 / 2, MapTileZoomLevel); mapBounds = new MapEnvelope(lon1, lat1, lon2, lat2); }
public override VectorData LoadElements(CullState cullState) { VectorElementVector elements = new VectorElementVector(); MapEnvelope mapViewBounds = cullState.GetProjectionEnvelope(this.Projection); MapPos min = mapViewBounds.Bounds.Min; MapPos max = mapViewBounds.Bounds.Max; // Run query here LoadData(elements, min, max, cullState.ViewState.Zoom); return(new VectorData(elements)); }