gpt4 book ai didi

google-maps-api-3 - 是否可以在 Google map API v3 中限制可编辑形状的尺寸/面积,以便无法将其绘制为大或小?

转载 作者:行者123 更新时间:2023-12-04 07:47:06 28 4
gpt4 key购买 nike

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

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

我不知道这将如何用于绘制多边形,但我确信它有点复杂,因为多边形是分阶段绘制的(多次点击)......但一次一步。

最佳答案

这是我可以为圆形场景提出的最佳解决方案。请注意,这不会在编辑圆时明确停止调整大小,但一旦用户释放调整大小,圆就会恢复到允许的最大大小。

根据上面的 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);
}
});

如果你想创建完全自定义的东西,这个解决方案也可能有用:
How to know radius while drawing a circle on Google Maps

关于google-maps-api-3 - 是否可以在 Google map API v3 中限制可编辑形状的尺寸/面积,以便无法将其绘制为大或小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11254261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com