javascript - 谷歌地图中的交互式圆圈随半径变化而变化

标签 javascript jquery google-maps google-maps-api-3

我想要一个用于谷歌地图的交互式圆圈,当我在 slider 中更改半径时它会增加或减少。
当我增加半径时它工作正常,但在减小半径时它不会改变(减小) map 中的圆

$(function() {
        $("#slide").slider({
               orientation: "horizontal",
               range: "min",
               max: 10000,
               min: 500,
               value: 500,
               slide: function( event, ui ) {
                            drawCircle(ui.value);
                                            }
                            });
             });

function drawCircle(rad){
      circle = new google.maps.Circle({
              strokeColor: "#FF0000",
              strokeOpacity: 0.8,
              strokeWeight: 2,
              fillColor: "#FF0000",
              fillOpacity: 0.35,
              map: myMap,
              radius: rad });

      circle.bindTo('center', marker, 'position');
                        }

最佳答案

创建圆圈一次,而不是在每次 slider 移动事件时创建。然后在 slider 变化时简单地更新圆的半径。

未经测试的代码:

var circle; //global variable, consider adding it to map instead of window

$(function() {
  circle = new google.maps.Circle({
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: "#FF0000",
    fillOpacity: 0.35,
    map: myMap,
    radius: 500
  });
  circle.bindTo('center', marker, 'position');

  $( "#slide" ).slider({
    orientation: "horizontal",
    range: "min",
    max: 10000,
    min: 500,
    value: 500,
    slide: function( event, ui ) {
     updateRadius(circle, ui.value);
    }
  });
});

function updateRadius(circle, rad){
  circle.setRadius(rad);
}

关于javascript - 谷歌地图中的交互式圆圈随半径变化而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095118/

相关文章:

javascript - 放大和缩小谷歌地图时出现不需要的折线渲染

php - 网站加载时卡住几秒钟

javascript - 我可以在n秒后调用事件监听器吗

javascript - Bootstrap 切换按钮不会在单击或触摸移动按钮时打开

javascript - loadGeoJson 不工作

javascript - PHP/MySQL 和 KML,动态生成的标记

javascript - 从外部 div 滚动 div

javascript - 以 Angular 定期调用函数

javascript : Transform not working

javascript - 在 JavaScript 中将链接附加到头部时使用方括号 [ ]