在Google地图中绘制匿名圈子

时间:2011-03-28 13:59:12

标签: javascript google-maps google-maps-api-3 geospatial spatial

我正在尝试绘制具有多个圆形叠加层的谷歌地图,但我不想透露正确的半径中心。

例如,myLatlng是我的半径的纬度/经度中心,我想绘制一个不在它周围的圆圈,而是一个包含那个点的圆圈。

这就是我目前画圈的方式:

        var myLatlng = new google.maps.LatLng(33.33333,22.22222);
        var circle = new google.maps.Circle({
              map: map,
              radius: 3218,
              strokeColor: "#FFAA00",
              fillColor: "#00AAFF",
              fillOpacity: 0.3,
              center: myLatlng,
              zIndex: 99999,

        });

33.33333,22.22222是一个我不想透露的“秘密”位置,不过我希望在圈内有这一点。

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的示例代码中。圆圈可以移动到任何地方,以便仍然可以包括33.3和22.2。

执行此操作的一种方法是简单地添加随机偏移量。

    // Generate random between -5 and 5 (just an example)
    var latOffset = Math.floor(Math.random()*11) - 5;
    var longOffset = Math.floor(Math.random()*11) - 5;
    var myLatlng = new google.maps.LatLng(33.33333 + latOffset,22.22222 + longOffset);

你得到的棘手的一点是确保随机偏移不会使圆圈超出边界。维基百科上的Expressing latitude and longitude as linear units部分应该有所帮助。