我在 Angular 中使用 ngMaps。我创建了一个地图并包含一个可以根据我的半径值调整的形状(圆形)。
是否可以设置地图的边界以调整以包括整个圆圈?
这是我的看法:
<ng-map class="bu-map"
default-style="false"
scrollwheel="false"
style="margin: 0 -15px"
data-ng-style="{'height': appCtrl.windowHeight - 81 + 'px'}"
map-type-control="false"
>
<shape id="circle"
name="circle"
centered="true"
stroke-color='#FF0000'
stroke-opacity="0.8"
stroke-weight="1"
center="{{listCtrl.queryBounds.centerPoint}}"
radius="{{listCtrl.queryBounds.radius}}"
editable="false"></shape>
</ng-map>
和我的控制器:
NgMap.getMap().then((map) => {
bu.map = map;
map.setCenter(centerPoint);
bu.queryBounds = {
centerPoint: [centerPoint.lat, centerPoint.lng],
// miles to meters conversion
radius: (parseFloat(searchQuery.radius) || 1) * 1600,
};
map.setZoom(10);
});
});
在这种情况下,可以调整 searchQuery.radius 以调整在地图上绘制的圆圈,但有时它对于地图来说太大并且缩放不调整。
我对 setZoom 进行了计算,但 setZoom 值不够多样化,无法完美地包含圆。
这可能与 setBounds 吗?
谢谢!