私は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で可視化しようとしましたが、まだ表示されません。私はまた、クリックするところに円を表示するためのほぼ同じコードをいくつか持っていますが、それは正確に正しく動作しますが、四角形は決して表示されません。
ライブコードにリンクしたり、コードをJS Fiddleに置くことはできますか?トラブルシューティングが簡単になります。 – andresf