簡體   English   中英

Google Maps添加多個圈子

[英]Google Maps Add Multiple Circles

我想知道添加差異選項以顯示距離范圍的最佳方法是什么。我制作了這個距離范圍(圓形)

我用圓產生范圍

        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英里。

有人可以告訴我在哪里可以找到根據他的屬性添加顯示或隱藏的不同圈子的教程嗎?

比爾,半徑參數是圓的大小,如果您看到注釋中寫着“ 10英里,以米為單位10093”,那么您需要將距離回溯到20英里,以米為單位,並且需要標記/在地圖上顯示。 1609.34 m是1英里。

不確定是否可以滿足您的需求,但這是一個通用功能,可以讓您設置/更改任何定義的圓的圓半徑,同時還可以將其傳遞給單位以使用。

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});
}

第一個參數是圓的變量名,第二個參數是半徑的值,使用的單位作為最后一個參數傳遞; “ m”代表米,“ 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);

嗨比爾檢查此教程生成圈子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM