我尝试在可以放大和缩小的样式地图上放置一些矩形。我注意到,每次我将缩放级别从例如 17.5 更改为 17.6 时,街道都会改变它们的宽度,因此与街道相比,矩形会改变其位置。
代码:
地图
var latlng = new google.maps.LatLng(lat, lng); var myOptions = { zoom: zoom, center: latlng, disableDefaultUI: true, scrollwheel: false, disableDoubleClickZoom: true, styles: [ { featureType: 'all', stylers: [{visibility: "off"}] }, { featureType: 'landscape', stylers: [{color: "#000000"}, {visibility: "on"}] }, { featureType: 'road', elementType: 'geometry', stylers: [{color: '#ffffff'}, {visibility: "on"}, {weight: 2}] } ] }; map = new google.maps.Map(document.getElementById('map'), myOptions);
长方形
var rectangle = new google.maps.Rectangle({ fillColor: '#FF0000', fillOpacity: 1, strokeColor: '#FF0000', strokeWeight: 2, strokeOpacity: 1, map: map, bounds: { north: lat1, south: lat2, west: lng1, east: lng2 } });
我希望矩形在所有缩放级别上都位于街道的同一位置。这可以做到吗?
PS。这是它的样子: zoom=19.5 vs zoom=19.6
编辑:我忘了提到只有在跨越 0.5 时才会出现阶梯状改变宽度 - 如果我将缩放从 更改为19.2
位置19.3
没有差异。看这个例子:
zoom=21.1 vs zoom=21.3
我还注意到矩形的笔触似乎比街道的笔触更不经常改变它的重量。有人可以解释这种行为的原因吗?