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