2012-02-10 35 views
1

私はGoogleマップのjavascript V3 APIを使用していますが、矩形オーバーレイの表示設定に問題があります。基本的に、私は、クリックリスナーを持っている、そしてリスナーの内側に、私はこのコードを持っている:Googleマップの可視性Javascript Overlay

var neLat = containmentCenter.lat()+ydiff; 
var neLng = containmentCenter.lng()+xdiff; 
var swLat = containmentCenter.lat()-ydiff; 
var swLng = containmentCenter.lng()-xdiff; 
nebound = google.maps.LatLng(neLat, neLng); 
swbound = google.maps.LatLng(swLat, swLng); 
crbounds = google.maps.LatLngBounds(swbound, nebound); 
var containRectangleOptions = { 
    strokeColor: "#FF0000", 
    strokeOpacity: 0.8, 
    strokeWeight: 2, 
    fillColor: "#FF0000", 
    fillOpacity: 0.35, 
    map: map, 
    bounds: crbounds, 
    editable: true, 
    visible: true 
}; 
containRectangle.setMap(map); 
containRectangle.setOptions(containRectangleOptions); 
containRectangle.setVisible(true); 
alert("Center: ("+containmentCenter.lat()+","+containmentCenter.lng()+")\nY:  
    "+ydiff+"\nX: "+xdiff+"\nVisible: "+containRectangle.getVisible()); 
containRectangleがリスナー上記長方形Iは、初期化(の内側に定義オーバーレイ)としている

containRectangle = new google.maps.Rectangle(defaultRectangleOptions); 

defaultRectangleOptionsは、containRectangleOptionsとまったく同じですが、境界はmap.getBounds()で、visibleはfalseに設定されています。

アラートが正しい座標を示していることと、実際にはcontainsRectangle.getVisible()がtrueであるということに関係なく、クリックすると問題はありません。私はまた、containsRectangleをdefaultRectangleOptionsで可視化しようとしましたが、まだ表示されません。私はまた、クリックするところに円を表示するためのほぼ同じコードをいくつか持っていますが、それは正確に正しく動作しますが、四角形は決して表示されません。

+0

ライブコードにリンクしたり、コードをJS Fiddleに置くことはできますか?トラブルシューティングが簡単になります。 – andresf

答えて

0

私は自分の問題を解決しました。私は、境界オブジェクトを初期化する方法でエラーになってしまった。 newオペレータを使用するとすべてが修正されました。