I was trying to draw a square
rectangle = new google.maps.Rectangle();
var rectOptions = {
strokeColor : "#FF0000",
strokeOpacity : 0.8,
strokeWeight : 2,
fillOpacity : 0,
map : map
};
rectangle.setOptions(rectOptions);
with a length of 0.005′
google.maps.event.addListener(map, 'dragend', function() {
var center = map.getCenter();
rectangle.setBounds(new google.maps.LatLngBounds(
new google.maps.LatLng(center.lat()-0.005, center.lng()-0.005),
new google.maps.LatLng(center.lat()+0.005, center.lng()+0.005)));
});
but I realized the square is a square near equator, but is quite deformed elsewhere,
is there a function that decreases with latitude to get the equivalent length of the longitude? thx for the help
edit: square’s height = cos(lat)width
from Andrew Leach comment: