我正在使用ngx-leaflet,我想知道是否可以动态更新地图maxBounds
选项。
我目前在地图div中有[leafletFitBounds]="fitBounds"
,并在我的应用组件中初始化fitBounds = null;
。然后在ngOnInit()
内,加载geoJSON文件并使用this.fitBounds = L.geoJSON(polygon).getBounds()
更新我的边界。我能够使用其属性绑定功能动态更新fitBounds
。
maxBounds
似乎有所不同。 [leafletMaxBounds]
不是地图的div属性,因此我无法直接设置它。我可以在maxBounds
中定义[leafletOptions]
,但这种方法不允许我动态更新options are ignored after being initially set以来的界限。边界不能被硬编码,因为这将是一个动态应用程序,它适合基于动态加载多边形的边界。
我发现我可以在setMaxBounds()
方法中使用onMapReady()
,但我无法从fitBounds
访问动态加载的ngOnInit
。我可以从ngOnInit
内的onMapReady
重新加载相同的geojson来获取边界,但是重用相同的代码以便能够访问一个属性这似乎非常低效。还有其他选择吗?