Как найти привязку LatLng для области в Google Maps? - PullRequest
0 голосов
/ 30 апреля 2020

В google maps Я хочу установить камеру в определенной стране. Мне не нужны проекции целых миров Меркатора . Поэтому мне нужно установить LatLngBounds в моих картах Google. Как я могу найти LatLngBounds определенного региона? Вот мой код, но он не устанавливает LatLngBounds как ограничения моего набора ожиданий на правой стороне.

         LatLng v1= new LatLng(24.044982389517603,89.75482430309057);
         LatLng v2 = new LatLng(22.309956868003045,91.20187237858772);
        LatLngBounds BANGLADESH = new LatLngBounds(
                v2,v1
        );
        mMap.setLatLngBoundsForCameraTarget(BANGLADESH);

enter image description here

1 Ответ

0 голосов
/ 01 мая 2020

Границы страны можно получить один раз из openstreetmap.org , как описано в этой статье Pēteris Ņikiforovs или http://polygons.openstreetmap.fr/get_poly.py?id=184640&params=0 и добавьте его как точки многоугольника, найдите LatLngBounds, как вы это делаете:

...
Builder builder = new LatLngBounds.Builder(); 
for(int i = 0 ; i < N_POINTS; i++) {          
    builder.include(new LatLng(lat, lng));
}
LatLngBounds BANGLADESH = new LatLngBounds = builder.build();

int padding = 15; // offset from edges of the map in pixels
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(BANGLADESH, padding);

mMap.moveCamera(cameraUpdate );
...
...