我正在尝试绘制具有多个圆形叠加层的谷歌地图,但我不想透露正确的半径中心。
例如,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
是一个我不想透露的“秘密”位置,不过我希望在圈内有这一点。
这可能吗?
谢谢!
答案 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部分应该有所帮助。