我需要绘制多边形,只有四个坐标,用于缩放13中加载地图的四个角,另一方面获取整个地图的坐标以显示给用户。 (用户通过在地图上绘制多边形来搜索特定区域,但如果他/她不绘制多边形,我想为他/她绘制投影地图大小的多边形并显示结果。)
答案 0 :(得分:3)
以缩放:13
创建地图var map = new google.maps.Map(document.getElementById("map"), {
center: {lat: 51.561162, lng: -0.163331},
zoom: 13
});
然后使用map.getBounds()
获取可见地图的LatLngBounds。
var bounds = map.getBounds();
然后您可以使用它来获取西南角和东北角的LatLng坐标:
var NECorner = bounds.getNorthEast();
var SWCorner = bounds.getSouthWest();
然后你可以使用它们来计算其他两个角的坐标:
var NWCorner = new google.maps.LatLng(NECorner.lat(), SWCorner.lng());
var SECorner = new google.maps.LatLng(SWCorner.lat(), NECorner.lng());
最后绘制多边形,使用paths
数组的那些角:
var polygon = new google.maps.Polygon({
map: map,
paths: [NWCorner, NECorner, SECorner, SWCorner],
fillColor: 'red',
fillOpacity: 0.7
});
答案 1 :(得分:0)
感谢邓肯 Lemme为Kotlin开发人员写了简短的文字
var bounds = googleMap!!.projection.visibleRegion.latLngBounds
var neCorner = bounds.northeast
var swCorner = bounds.southwest
var nwCorner = LatLng(neCorner.latitude, swCorner.longitude)
var seCorner = LatLng(swCorner.latitude, neCorner.longitude)