В OSM мне нужно знать долготу и широту моих четырех углов текущей области, как на этом изображении в OSM.
OSM Map Текущее изображение области
По приведенному ниже коду я получил значение центра X и Y элемента управления
var centerX = TileLayer.ControlSize.Width / 2;
var centerY = TileLayer.ControlSize.Height / 2;
Используя приведенный ниже метод, я преобразовал значение центрального пикселя в широту и долготу.
private PointF GetPanChangedArguments(double pointX, double pointY)
{
PointF pointXY = new PointF();
foreach (var tile in TileLayer.Tiles)
{
if (tile.ImageBounds != null && tile.ImageBounds.Contains((int)pointX, (int)pointY))
{
var actualXPoint = (pointX - tile.ImageBounds.Left);
var actualYPoint = (pointY - tile.ImageBounds.Top);
var tileSize3 = ((1 << (TileLayer.Scale - tile.Scale)) * 256);
tileSize3 = (int)(tileSize3 * SfMaps.DENSITY);
var point = TileLayer.PointToLatLon(actualXPoint + tile.X * tileSize3, actualYPoint + tile.Y * tileSize3, TileLayer.Scale);
pointXY = new PointF(point.X, point.Y);
break;
}
}
return pointXY;
}
Теперь мне нужны широта и долгота верхнего левого угла, я использовал для передачи 0,0 в этомметод, но границы изображения не обновляются для значения масштаба 1.1,1,2..etc, значение границ обновляется только для значения масштаба 2. как обновить текущие границы элементов мозаичного изображения и как получить координатыверхний левый угол.Или любой другой способ найти topleftcorner
координату OSM