Google maps api 3 在Google maps API v3中,是否可以限制可编辑形状的尺寸/面积,使其不能绘制为大或小?

Google maps api 3 在Google maps API v3中,是否可以限制可编辑形状的尺寸/面积,使其不能绘制为大或小?,google-maps-api-3,Google Maps Api 3,我希望能够在谷歌地图上绘制形状(圆形、多边形和矩形),但我希望对可以绘制的形状的大小(面积)进行限制。因此,以一个圆为例,当用户开始从地图上的某个点拖动鼠标以形成圆时,圆会碰到一个不可见的边界并停止扩展 我将形状的大小/面积定义为它所覆盖的地理区域。理想情况下,我希望能够规定形状所覆盖的地理区域的限制。因此,在圆圈示例中,我可以指定当圆圈覆盖的地理区域达到10平方公里时,无论视口缩放级别如何,圆圈都将停止扩展 我不知道这对绘制多边形是如何起作用的,但我确信这会有点复杂,因为多边形是分阶段绘制的(

我希望能够在谷歌地图上绘制形状(圆形、多边形和矩形),但我希望对可以绘制的形状的大小(面积)进行限制。因此,以一个圆为例,当用户开始从地图上的某个点拖动鼠标以形成圆时,圆会碰到一个不可见的边界并停止扩展

我将形状的大小/面积定义为它所覆盖的地理区域。理想情况下,我希望能够规定形状所覆盖的地理区域的限制。因此,在圆圈示例中,我可以指定当圆圈覆盖的地理区域达到10平方公里时,无论视口缩放级别如何,圆圈都将停止扩展


我不知道这对绘制多边形是如何起作用的,但我确信这会有点复杂,因为多边形是分阶段绘制的(多次单击)。。。但是一步一个脚印。

这是我能为循环场景想出的最佳解决方案。请注意,这并不会在编辑圆时显式停止圆的调整大小,但一旦用户释放调整大小,圆就会恢复到允许的最大大小

根据上面的chrismarx&zeusakm注释,这可能不太理想,但谷歌的api似乎没有任何本地方式在用户调整大小时设置严格的大小边界

var shapeOptions = {
  fillColor: '#ff0000',
  fillOpacity: 0.50,
  map: map, // your map
  center: curLocation, // geo starting point
  draggable: true,
  editable: true,
  radius: 30 // initial circle radius in meters
};

// Add the circle to the map.
newCircle = new google.maps.Circle(shapeOptions);

var maxRadius = 100; // whatever max size you want to dictate

google.maps.event.addListener(newCircle,'radius_changed',function(){
    if (this.getRadius() > maxRadius) {
        this.setRadius(maxRadius);
    }
});
如果您想创建完全自定义的内容,此解决方案也可以使用:

那么您想在几何体仍在编辑时检查几何体的大小,而不是在编辑之后?如果是在之后,你可以得到这个区域,并向用户发送一条信息,告诉用户它太大/太小。当然他可以,但最好限制用户的形状拉伸,然后通过JS弹出窗口,例如-这就是为什么这个问题对我来说也很有趣。