Как установить границы на карте от моего текущего местоположения до 5 км в радиусе? - PullRequest
0 голосов
/ 19 апреля 2019

Я использую карту Google в своем приложении для Android, чтобы показать некоторые точки на карте, но я хочу ограничить карту определенной областью, например, я хочу ограничить границы карты от текущего местоположения пользователя до нескольких миль в радиусе. В официальной документации Google я нахожу эту функцию:

private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44, 113), new LatLng(-10, 154)); mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(AUSTRALIA, 0));

Но проблема для меня заключается в том, как получить широту и долготу на карте, которые находятся в нескольких милях от текущего местоположения пользователя. Как я устанавливаю данные в обеих новых функциях LatLng.

1 Ответ

0 голосов
/ 20 апреля 2019

Существует довольно простой способ приблизить расстояние, понимая, что градус широты составляет около 69 миль в длину.Поэтому, если бы вы сделали что-то вроде этого:

private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44.0, 113), new LatLng(-43.5, 113), new LatLng(-44.5, 113));

Предполагая, что первый лат / долг был вашей текущей позицией, вы бы создали границы с радиусом около 35 миль от вашего текущего местоположения.Вы можете использовать меньшие разности широт, если вы хотите меньший радиус, например, -40,0, -40,1, -39,9 используйте меньшие доли градуса.Убедитесь, что вы меняете только координаты широты, так как расстояние между градусами фиксировано.Принимая во внимание, что расстояние между градусами долготы варьируется в зависимости от широты, и это гораздо более сложный расчет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...