Как вычислить радиус вокруг точки в Android MapView?

У меня есть MapView, который я отображаю, "полезный радиус" (думайте точность координаты) в. Используя MapViewmetersToEquatorPixels Проекции, который является по общему признанию только для экваториального расстояния), не дает мне достаточно точное расстояние (в пикселях). Как Вы вычислили бы это, если бы Вы хотели отобразить круг вокруг своей координаты, учитывая радиус?

12
задан Jeremy Logan 16 January 2010 в 10:50
поделиться

1 ответ

Итак, Google Maps использует проекцию Меркатора . Это означает, что чем дальше от экватора, тем больше искажаются расстояния. Согласно этой дискуссии , правильный способ преобразования для расстояний это что-то вроде:

public static int metersToRadius(float meters, MapView map, double latitude) {
    return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude))));         
}
28
ответ дан 2 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: