2012-04-30 43 views
0

我想添加一個圈覆蓋到我的mvc項目中的地圖,但我想圈子保持相同的大小,如果用戶放大或縮小地圖 - 任何人都知道這是可能的嗎?目前,這是我如何顯示我的圈子,給每個人不同的顏色。谷歌地圖圈覆蓋 - 固定大小

var mapCircle; 
var count = 0; 

var colours = []; 
@foreach (string s in arrColours) 
{ 
    <text>colours.push('@s');</text>; 
} 

for (var point in map) { 
    var circle = { 
     strokeColor: '#777777', 
     strokeOpacity: 0.8, 
     strokeWeight: 1, 
     fillColor: colours[count], 
     fillOpacity: 0.8, 
     map: map, 
     center: pointMap[point].coords, 
     radius: 70000 
    }; 
    mapCircle = new google.maps.Circle(circle); 
    count++; 
} 

我有這些點之間的連接折線和他們住在一個固定的寬度,當你放大地圖上,但是當你放大了一圈增加,這不工作了它的目的。我知道我可以使用圖片作爲標記,但我寧願只是使用一個圓圈。

謝謝

回答

0

這是可能的,但可能並不容易做到。您需要檢查地圖縮放變化,並使用大圓距離公式重置以米爲單位的圓的半徑。

google.maps.event.addListener(map, 'zoom_changed', resetRadius); 

下面的問題和答案描述瞭如何爲地圖做到這一點,但應該爲圓圈工作。 Circle's有getBounds()和setRadius()方法。

Radius of "viewable" region in google maps v3

https://stackoverflow.com/a/3527136/1211981