请参阅此DEMO
在document中,我看到bounds
参数的说明是:
使地图适合指定的范围。表达式必须解析为 具有东北和西南属性的物体。每一个 属性必须具有纬度和经度属性
我在范围内设置界限:
$scope.bd = {
northeast: {
latitude: 51.219053,
longitude: 4.404418
},
southwest: {
latitude: -51.219053,
longitude: -4.404418
}
}
在这样的指令中使用它:
<ui-gmap-google-map bounds="bd" center="map.center" zoom="map.zoom" draggable="true" options="options"></ui-gmap-google-map>
但似乎没有效果..地图不适合我指定的界限。这是否意味着bounds参数不起作用?以及如何使地图适合指定的边界?
答案 0 :(得分:2)
为什么不使用居中和缩放而不是边界?
无论如何,我正在进行一些测试,作为中心,缩放和边界位于指令内的任何内容中,这些都是异步加载的,并且由于需要中心和缩放,因此边界不会被激活。
甚至在不改变后设置值(不知道为什么)
http://plnkr.co/edit/YdyYIiVVgApA2tpm11Xn?p=preview
setTimeout(function(){
var map = $scope.instance.getGMap();
console.log(map);
console.log(map.getBounds());
$scope.bd = {
northeast: {
latitude: 51.219053,
longitude: 4.404418
},
southwest: {
latitude: -51.219053,
longitude: -4.404418
}
}
ne = new google.maps.LatLng($scope.bd.northeast.latitude, $scope.bd.northeast.longitude);
sw = new google.maps.LatLng($scope.bd.southwest.latitude, $scope.bd.southwest.longitude);
bounds = new google.maps.LatLngBounds(sw, ne);
map.fitBounds(bounds);
}, 2000);