我正在使用Google Maps javascript V3 API,而且我在设置矩形叠加层的可见性方面遇到了问题。基本上,我有一个点击监听器,在监听器内我有这个代码:
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());
其中containsRectangle是一个Rectangle叠加层,我在initialize()内部和侦听器上面定义了
containRectangle = new google.maps.Rectangle(defaultRectangleOptions);
defaultRectangleOptions
与containRectangleOptions
完全相同,但边界为map.getBounds()且visible设置为false。
问题是当我点击时没有看到矩形,不管我所显示的alert()显示正确的坐标,还正确地说containsRectangle.getVisible()为true。我也尝试在defaultRectangleOptions中显示containsRectangle,但它仍然没有显示。我也有一些几乎相同的代码,用于显示我点击的圆圈,并且工作正确,但矩形永远不会显示。
答案 0 :(得分:0)
我解决了自己的问题。我最初是在初始化边界对象的方式中出错。使用new
运算符修复了所有内容。