如何在谷歌地图中找到前往某个区域的 LatLng?

Posted

技术标签:

【中文标题】如何在谷歌地图中找到前往某个区域的 LatLng?【英文标题】:How to find LatLng bound for an area in google maps? 【发布时间】: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);

【问题讨论】:

国家边界框:gist.github.com/graydon/11198540。 (以 lng/lat 格式) 【参考方案1】:

您可以从openstreetmap.org 获得一次国家边界,如Pēteris Ņikiforovs 或http://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 );
...

【讨论】:

以上是关于如何在谷歌地图中找到前往某个区域的 LatLng?的主要内容,如果未能解决你的问题,请参考以下文章

在谷歌地图上绘制区域

如何在谷歌地图中锁定国家

如何在谷歌地图中绘制gpx文件

我们如何在谷歌地图中添加带有点击事件的多个标记? [复制]

如何使用 api 在谷歌地图中仅显示一个国家或特定区域?

我们如何在谷歌地图中为多边形应用可编辑标记