目前我有一个函数可以使用以下代码绘制一个约2km大的矩形:
var radius = 0.02;
var c = Math.cos(location.lat()* Math.PI / 180);
rectangle.setBounds(new google.maps.LatLngBounds(
new google.maps.LatLng(location.lat()-c*radius/2, location.lng()-radius/2),
new google.maps.LatLng(location.lat()+c*radius/2, location.lng()+radius/2)));
rectangle.setMap(map);
在缩放级别1时,矩形太小,在缩放级别18时太宽。
我希望矩形大小是地图大小的百分比,以便在创建时无论缩放级别如何都始终可见。你能帮我找一些有关如何实现它的信息吗?
答案 0 :(得分:2)
编辑:我找到了一个解决方案:
var scale = Math.pow(2,map.getZoom());
rectangle.setBounds(new google.maps.LatLngBounds(
new google.maps.LatLng(((location.lat()* scale) - 50)/ scale, ((location.lng()* scale) - 75)/ scale),
new google.maps.LatLng(((location.lat()* scale) + 50)/ scale, ((location.lng()* scale) + 75)/ scale)));
rectangle.setMap(map);
如果它对其他人有用