如何使用mapbox.js在具有指定半径值的标记周围绘制圆圈

时间:2014-07-24 20:17:50

标签: javascript leaflet mapbox

嗨我希望借助圆圈在标记周围显示数量值。 基本上,如果圆圈较大,则表示该位置的可用数量最大于小圆圈。我可以在地图上显示标记。但我正在尝试展示圈子。圆的半径值是值变量。我想根据地球半径转换此可用数量值,然后显示圆圈。

以下是代码段

 // var map = L.mapbox.map('map', 'examples.map-i86nkdio')
            var map=L.mapbox.map('map','hexample.j1m1kko7')
        .setView([42.274260, -83.365717], 9);
            for (i = 0; i < lats.length; i++)
            {

                var marker = L.marker([lats[i], longs[i]], {
                    icon: L.mapbox.marker.icon({
                        'marker-color': '#E80000'
                    })
                })
                .bindPopup('<button class="trigger">' + FacName[i] + '</button>')
                .addTo(map);
                L.circleMarker([lats[i], longs[i]], value[i])
                .addTo(map);

            }

我可以使用折线或多边形来显示圆圈,因为Circlemarker会创建标记。

2 个答案:

答案 0 :(得分:3)

前几天我遇到了同样的问题,结果使用了像这样的L.circle

marker = L.circle(latlng, radius).addTo(map);

并且还将常规标记放在相同的latlng位置。 试一试!

答案 1 :(得分:1)

不幸的是,MapBox似乎已经对此进行了更新,至少它对我没有用 - 所以也许其他人可能会觉得这很有帮助。

我必须使用L.circleMarker才能使其正常运行。

示例:

var circle = L.circleMarker([55.37911044801047, -2.8125], {radius: 100}).addTo(map);

此处有更多文档: https://www.mapbox.com/mapbox.js/api/v2.1.9/l-circlemarker/