1

我想繪製具有多個圓形疊加層的谷歌地圖,但是我不想揭示半徑的正確中心。在Google地圖中繪製匿名圈子

因此,例如,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

你可以給lat/long添加一些隨機小數值嗎? – 2011-03-28 14:02:06

+0

@傑夫福斯特 - 你能詳細說明一下嗎?我不明白他的意思。 – 2011-03-28 14:03:39

+1

他的意思是在lat/long的位置添加一個隨機的小數值,小於圓的半徑的數值,以便將其位置從真實位置偏移。 – 2011-03-28 14:14:35

回答

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部分應該有所幫助。