2015-10-29 44 views
0

我需要绘制多边形只有四个坐标是在加载地图的变焦13另一方面的四个角落获取整个地图的坐标显示给用户。 (用户在地图上绘制多边形搜索特定区域,但如果他/她不绘制多边形,我想为他/她绘制投影地图大小的多边形并显示结果。)如何获得谷歌地图角的坐标?

回答

2

在变焦创建地图: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(); 

然后,您可以使用它来获取西南部和东北角落的经纬度坐标:

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 
});