2012-04-30 15 views
0

私はmvcプロジェクトのマップにサークルオーバーレイを追加しようとしていますが、ユーザーがマップをズームインまたはズームアウトするとサークルを同じサイズに維持したい - これが可能なら誰でも知っていますか?現在のところ、私はそれぞれのサークルに色を変えるサークルを表示しています。Googleマップサークルオーバーレイ - 固定サイズ

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にはgetBounds()メソッドとsetRadius()メソッドがあります。

Radius of "viewable" region in google maps v3

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

関連する問題