У меня есть MapView, который я отображаю, "полезный радиус" (думайте точность координаты) в. Используя MapView
metersToEquatorPixels Проекции, который является по общему признанию только для экваториального расстояния), не дает мне достаточно точное расстояние (в пикселях). Как Вы вычислили бы это, если бы Вы хотели отобразить круг вокруг своей координаты, учитывая радиус?
Итак, Google Maps использует проекцию Меркатора . Это означает, что чем дальше от экватора, тем больше искажаются расстояния. Согласно этой дискуссии , правильный способ преобразования для расстояний это что-то вроде:
public static int metersToRadius(float meters, MapView map, double latitude) {
return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude))));
}