Javascript 使用谷歌地图计算绘制多边形面积的最简单方法

Javascript 使用谷歌地图计算绘制多边形面积的最简单方法,javascript,html,google-maps,area,Javascript,Html,Google Maps,Area,这里是Javascript/google地图初学者。 我正在寻找一种简单的方法来计算用户在地图上绘制的多边形的面积。 代码段: 函数initMap(){ var map=new google.maps.map(document.getElementById('map'){ 中心:{ 拉丁美洲:53, 液化天然气:0 }, 缩放:13 }); var drawingManager=new google.maps.drawing.drawingManager({ drawingMode:googl

这里是Javascript/google地图初学者。 我正在寻找一种简单的方法来计算用户在地图上绘制的多边形的面积。 代码段:

函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
中心:{
拉丁美洲:53,
液化天然气:0
},
缩放:13
});
var drawingManager=new google.maps.drawing.drawingManager({
drawingMode:google.maps.drawing.OverlyType.MARKER,
drawingControl:对,
drawingControlOptions:{
位置:google.maps.ControlPosition.TOP_CENTER,
绘图模式:[“多边形”]
},
循环操作:{
填充颜色:'#ffff00',
不透明度:1,
冲程重量:5,
可点击:false,
是的,
zIndex:1
}
});
drawingManager.setMap(map);
}

使用该方法

代码片段:

函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
中心:{
拉脱维亚:53.000581,
液化天然气:-0.005
},
缩放:19
});
var infowindow=new google.maps.infowindow();
var polygon=新建google.maps.polygon({
路径:[{lat:53.000842,lng:-0.004903},
{lat:53.000823,lng:-0.004798},
{lat:53.000779,lng:-0.004823},
{lat:53.000799,lng:-0.004935}],
地图:地图
});
var area=google.maps.geometry.sphereal.computeArea(polygon.getPath());
infowindow.setContent(“多边形面积=”+面积.toFixed(2)+“平方米”);
setPosition(polygon.getPath().getAt(0));
打开(地图);
var drawingManager=new google.maps.drawing.drawingManager({
drawingMode:google.maps.drawing.OverlyType.MARKER,
drawingControl:对,
drawingControlOptions:{
位置:google.maps.ControlPosition.TOP_CENTER,
绘图模式:[“多边形”]
},
drawingMode:空
});
google.maps.event.addListener(drawingManager,'polygoncomplete',函数(多边形){
var area=google.maps.geometry.sphereal.computeArea(polygon.getPath());
infowindow.setContent(“多边形面积=”+面积.toFixed(2)+“平方米”);
setPosition(polygon.getPath().getAt(0));
打开(地图);
});
drawingManager.setMap(map);
}
google.maps.event.addDomListener(窗口“加载”,initMap)
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
  var area = google.maps.geometry.spherical.computeArea(polygon.getPath());
  infowindow.setContent("polygon area="+area.toFixed(2)+" sq meters");
  infowindow.setPosition(polygon.getPath().getAt(0));
  infowindow.open(map);
 });