0
我想避免显示位于的地图边缘的标记,因为它们的一半是可见的(并且我不想在显示infowindow时拖动地图)。为此,我如何计算比原始边界略小的地图边界(例如,从各个方面来看,例如,1cm或40px)。谷歌地图api v3:我怎样才能计算从各方面短1厘米的地图边界?
或者有没有更好的解决方案?
我想避免显示位于的地图边缘的标记,因为它们的一半是可见的(并且我不想在显示infowindow时拖动地图)。为此,我如何计算比原始边界略小的地图边界(例如,从各个方面来看,例如,1cm或40px)。谷歌地图api v3:我怎样才能计算从各方面短1厘米的地图边界?
或者有没有更好的解决方案?
我知道了...... 下面是代码:
function setRectangle(center){
var scale = Math.pow(2,MainMap.getZoom());
var proj = MainMap.getProjection();
var wc = proj.fromLatLngToPoint(center);
var bounds = new google.maps.LatLngBounds();
var sw = new google.maps.Point(((wc.x * scale) - (($('#google-map-canvas').width() - 75)*0.5))/ scale, ((wc.y * scale) - (($('#google-map-canvas').height() - 75)*0.5))/ scale);
bounds.extend(proj.fromPointToLatLng(sw));
var ne = new google.maps.Point(((wc.x * scale) + (($('#google-map-canvas').width() - 75)*0.5))/ scale, ((wc.y * scale) + (($('#google-map-canvas').height() - 75)*0.5))/ scale);
bounds.extend(proj.fromPointToLatLng(ne));
var opts = {
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0,
bounds: bounds,
map: MainMap
};
enclosedRectangle = new google.maps.Rectangle(opts);
}
的
可能重复[如何创建围绕谷歌地图边缘的填充(http://stackoverflow.com/questions/ 9712268 /如何对创建-A-填充-围绕最边缘对的一谷歌地图) – geocodezip 2013-05-07 05:54:54