在google map javascript上计算绘制多边形的面积

在google map javascript上计算绘制多边形的面积,javascript,google-maps,Javascript,Google Maps,嗨,我必须计算谷歌地图上绘制的多边形的面积。 JSFIDLE 我用 var area = google.maps.geometry.spherical.computeArea(newShape.getPath()); 但我想在点击按钮时计算出来 多边形是可编辑的。如果我更改/编辑区域怎么办?我可以获取areachange事件上的区域吗?您需要侦听多边形路径上的set_at和insert_at事件,在其中一个事件触发时重新计算区域 例如: 代码片段: var绘图管理器; 变量选择形状;

嗨,我必须计算谷歌地图上绘制的多边形的面积。 JSFIDLE

我用

var area = google.maps.geometry.spherical.computeArea(newShape.getPath()); 
但我想在点击按钮时计算出来


多边形是可编辑的。如果我更改/编辑区域怎么办?我可以获取areachange事件上的区域吗?

您需要侦听多边形路径上的set_at和insert_at事件,在其中一个事件触发时重新计算区域

例如:

代码片段:

var绘图管理器;
变量选择形状;
变量颜色=['#1E90FF'、'#FF1493'、'#32CD32'、'#FF8C00'、'#4B0082'];
选择颜色;
var colorButtons={};
函数{
如果(selectedShape){
selectedShape.setEditable(false);
selectedShape=null;
}
}
功能选择(形状){
选举();
selectedShape=形状;
shape.setEditable(true);
选择颜色(shape.get('fillColor')| | shape.get('strokeColor'));
google.maps.event.addListener(shape.getPath(),'set_at',calcar);
google.maps.event.addListener(shape.getPath(),'insert_at',calcar);
}
函数calcar(){
var area=google.maps.geometry.sphereal.computeArea(selectedShape.getPath());
document.getElementById(“area”).innerHTML=“area=“+area.toFixed(2);
}
函数deleteSelectedShape(){
如果(selectedShape){
selectedShape.setMap(空);
}
}
功能选择颜色(颜色){
selectedColor=颜色;
对于(变量i=0;i
#地图,
html,
身体{
填充:0;
保证金:0;
身高:100%;
}
#面板{
宽度:200px;
字体系列:Arial,无衬线;
字体大小:13px;
浮动:对;
利润率:10px;
}
#调色板{
明确:两者皆有;
}
.彩色按钮{
宽度:14px;
高度:14px;
字号:0;
保证金:2倍;
浮动:左;
光标:指针;
}
#删除按钮{
边缘顶部:5px;
}

绘图工具
删除选定形状
计算面积