0

我尝试在可以放大和缩小的样式地图上放置一些矩形。我注意到,每次我将缩放级别从例如 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 我还注意到矩形的笔触似乎比街道的笔触更不经常改变它的重量。有人可以解释这种行为的原因吗?

4

0 回答 0