Google地图fitBounds未按预期工作

时间:2017-11-30 22:19:11

标签: google-maps

我正在尝试在一个国家/地区内修复。我有以下内容:

 global.map = new google.maps.Map(document.getElementById('map'), {

        });

        var southWest = new google.maps.LatLng(55.869295662409286, 10.20150283108661);
        var northEast = new google.maps.LatLng(58.02569542932735, 15.9528456045241);
        var bounds = new google.maps.LatLngBounds(southWest, northEast);
        global.map.fitBounds(bounds);

初始化地图时,它有以下数据:

NorthEast:{“lat”:59.05764174257586,“lng”:18.82851699124285}

SouthWest:{“lat”:54.74380264275119,“lng”:7.32583144436785}

我希望这个边界会在fitBounds坐标中给出数据吗?

1 个答案:

答案 0 :(得分:3)

substr()方法将确保提供的坐标在视口的边界内可见,因此它们周围通常会有一个缓冲区。要摆脱它,你需要调整你提供的边界向内缓冲量。我不知道这个缓冲区是否是固定大小。

视口边界也将设置为适合视口尺寸,这可能与使用提供的fitBounds作为两个角的理论框的尺寸不同。例如您的视口可能是800x600,但您的LatLngBounds可能会在适当的缩放级别描述接近600x600的形状。

将fitBounds方法中的padding参数设置为零以消除填充:

LatLngBounds