Javascript 旋转地图时,如何找到Google Map V3的4个角?

Javascript 旋转地图时,如何找到Google Map V3的4个角?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,GoogleMapsV3API在地图上有一个方法,可以返回视口的东北角和西南角。理论上,我可以通过使用相对点的纬度和经度来计算西北角和东南角,即 NE=(lat=37.5,lng=-97.5) 西南=(纬度=37.0,液化天然气=-96) ... 因此… NW=(纬度=37.5,液化天然气=-96) SE=(纬度=37.0,液化天然气=-97.5) (甚至还有一次。) 但我在网上找到的所有答案都假设地图指向正北,意思是“东北”实际上意味着“右上角” 但是如果地图旋转会发生什么呢?我是否必须根据地

GoogleMapsV3API在地图上有一个方法,可以返回视口的东北角和西南角。理论上,我可以通过使用相对点的纬度和经度来计算西北角和东南角,即

NE=(lat=37.5,lng=-97.5)
西南=(纬度=37.0,液化天然气=-96)
... 因此…
NW=(纬度=37.5,液化天然气=-96)
SE=(纬度=37.0,液化天然气=-97.5)

(甚至还有一次。)

但我在网上找到的所有答案都假设地图指向正北,意思是“东北”实际上意味着“右上角”

但是如果地图旋转会发生什么呢?我是否必须根据地图的方向使用trig来计算其他两个角?或者谷歌是否会给我一个包含我的视口的区域的实际东北和西南坐标,即使这意味着生成的矩形的部分超出了旋转地图的边界

还是谷歌给了我实际的东北和西南坐标 包含我的视口中的内容的区域

没错,
getBounds
函数根据当前视口返回东北角和西南角。下面的示例对其进行了说明,特别是它绘制的矩形的大小包含当前视口:

var映射;
var区;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{lat:45.518,lng:-122.672},
缩放:18,
mapTypeId:google.maps.mapTypeId.HYBRID,
//标题:0,
//倾斜:45
});
google.maps.event.addListenerOnce(map'idle',function(){
(地图);
});
}
函数绘图边界(map)
{
var bounds=map.getBounds();
变量范围={
北:bounds.getNorthEast().lat(),
南:bounds.getSouthWest().lat(),
east:bounds.getNorthEast().lng(),
west:bounds.getSouthWest().lng()
};
area=新建google.maps.Rectangle({
strokeColor:“#FF0000”,
笔划不透明度:0.8,
冲程重量:2,
填充颜色:'#FF0000',
不透明度:0.35,
地图:地图,
边界:区域边界
});
console.log(区域边界);
}
函数rotate(){
var heading=map.getHeading()| | 0;
地图设置航向(航向+90);
area.setMap(空);
(地图);
}
html,正文{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“Roboto”,“sans-serif”;
线高:30px;
左侧填充:10px;
}

太棒了!(不知道为什么我不想这样做)。这非常有用,谢谢