Google地图添加多个圈子

时间:2015-01-26 14:50:22

标签: javascript google-maps

我想知道它是添加显示距离范围的不同选项的最佳方式 。我做的 Range of distance (Circle)

我使用圆圈

生成范围
        var circle = new google.maps.Circle({
          map: this.map,
          radius: 16093,    // 10 miles in metres 16093
          fillColor: '#E6E6E6',
          fillOpacity: 0.0 ,
          strokeOpacity : 0.1,
          strokeWeight: 1,
          strokeWidth:1
        });
        circle.bindTo('center', marker_cat, 'position');

js显示如何添加10英里的圆圈范围,现在我想添加其他圆圈,显示其他类型的范围,如20英里。

有人能告诉我在哪里可以找到一个教程来添加不同的圆圈显示或隐藏取决于他的属性吗?

3 个答案:

答案 0 :(得分:0)

比尔,半径参数是圆的大小,如果你看评论它说“10英里,16093米”,所以你需要回溯20英里到米,你需要任何其他距离相同在地图上标记/显示。 1609.34米是1英里。

答案 1 :(得分:0)

不确定这是否符合您的需求,但它是一个通用功能,可让您设置/更改任何已定义圆圈的圆半径,并且还可以将其传递给要使用的单位。

function setCircleSize(circle_name, radius, unit){
    var radius_meters = 0;
    if (unit = 'm')  radius_meters = parseFloat(radius);
    if (unit = 'km') radius_meters = parseFloat(radius) * 1000;
    if (unit = 'mi') radius_meters = parseFloat(radius) * 1609.34;
    circle_name.setOptions({radius:radius_meters});
}

第一个参数是圆的变量名,第二个参数是半径的值,使用的单位作为最后一个参数传递; '米'对于米,' km'公里,或者“mi”。几英里。 这可以与OP中定义的圆圈一起使用。

setCircleSize('circle', 10, 'mi');  // Set 'circle' radius to 10 miles

接下来是一个通用功能,用于切换地图上任何圆圈的可见性

function toggleCircle(circle_name){
    if (circle_name == null || undefined || '') return;
    else {
        if (circle_name.getVisible()) circle_name.setVisible(false);
        else circle_name.setVisible(true);
    }
}

所以要切换OP中圆圈的可见度......

toggleCircle(circle);

答案 2 :(得分:0)

您好帐单检查此Tutorial以生成圈子