【问题标题】:How to find LatLng bound for an area in google maps?如何在谷歌地图中找到前往某个区域的 LatLng?
【发布时间】:2020-08-15 01:37:33
【问题描述】:

google maps 中,我想将我的相机修复到特定国家/地区。我不需要整个世界 墨卡托 投影。所以我需要在我的谷歌地图中设置LatLngBounds。如何找到特定区域的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);

【问题讨论】:

标签: android google-maps google-maps-android-api-2


【解决方案1】:

您可以从openstreetmap.org 获得一次国家边界,如Pēteris Ņikiforovshttp://polygons.openstreetmap.fr/get_poly.py?id=184640&params=0 中所述的this 文章中所述,并将其添加为多边形点找到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 );
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 2014-05-30
    相关资源
    最近更新 更多