для этого вам нужно найти границы видимой области карты. позвольте мне объяснить это.
Связанный класс:
public class Bounds
{
public double South { get; set; }
public double West { get; set; }
public double North { get; set; }
public double East { get; set; }
}
Карта имеет свойство, называемое видимой областью. Когда свойство карты изменится, видимый регион карты также изменится. Ниже приведен класс карты:
Bounds bounds = new Bounds();
customMap.PropertyChanged += (sender, e) =>
{
Debug.WriteLine(e.PropertyName + " just changed!");
if (e.PropertyName == "VisibleRegion" && customMap.VisibleRegion != null)
CalculateBoundingCoordinates(customMap.VisibleRegion);
};
static void CalculateBoundingCoordinates(MapSpan region)
{
try
{
_region = region;
var center = region.Center;
var halfheightDegrees = region.LatitudeDegrees / 2;
var halfwidthDegrees = region.LongitudeDegrees / 2;
var left = center.Longitude - halfwidthDegrees;
var right = center.Longitude + halfwidthDegrees;
var top = center.Latitude + halfheightDegrees;
var bottom = center.Latitude - halfheightDegrees;
if (left < -180) left = 180 + (180 + left);
if (right > 180) right = (right - 180) - 180;
bounds.West = left;
bounds.East = right;
bounds.North = top;
bounds.South = bottom;
}
}
Теперь запросите вашу базу данных с этими границами.