Ответ 1
Если вы используете http://msdn.microsoft.com/en-us/library/system.device.location.geocoordinate.aspx
Вам нужно будет написать свой собственный метод, чтобы сделать эту проверку. Возможно, вы захотите сделать его методом расширения (много ресурсов, доступных в онлайн-методах расширения).
Тогда это почти так же просто, как
public static Boolean isWithin(this GeoCoordinate pt, GeoCoordinate sw, GeoCoordinate ne)
{
return pt.Latitude >= sw.Latitude &&
pt.Latitude <= ne.Latitude &&
pt.Longitude >= sw.Longitude &&
pt.Longitude <= ne.Longitude
}
Можно рассмотреть один угол. Вышеуказанный метод завершится неудачно, если поле, определяемое sw, ne, пересекает 180-градусную долготу. Поэтому для покрытия этого случая необходимо будет написать дополнительный код, что замедлит работу метода.