如何在谷歌地图中找到前往某个区域的 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¶ms=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?的主要内容,如果未能解决你的问题,请参考以下文章