如何在 ng2-ui/map 中使用 setbounds

Posted

技术标签:

【中文标题】如何在 ng2-ui/map 中使用 setbounds【英文标题】:how to use setbounds in ng2-ui/map 【发布时间】:2017-12-28 06:49:39 【问题描述】:

我一直在尝试渲染地图,我希望在其中使用 setbounds。我使用的库是 ng2-ui/map

https://github.com/ng2-ui/map

我无法获得有关如何执行相同操作的任何文档。

到目前为止,我已经编写了以下代码:

<ngui-map [center]=mapCenter zoom=15>
     <marker *ngFor="let pos of positions; let i= index;" [position]="pos" 
      [icon]= " url : mapMarkers[i]"></marker>
</ngui-map>

其中,center 是所有中心的平均值,positions 是一组标记。

【问题讨论】:

【参考方案1】:

我刚刚偶然发现了您的问题,您现在可能已经解决了,但答案可能对其他人有所帮助。

首先,您需要获取地图的实例和标记;因为那个 ngui-map 会触发 mapReady$initialized$ 事件。

<ngui-map 
  zoom="15"
  (mapReady$)="onMapReady($event)">
  <marker *ngFor="let pos of positions; let i = index;" 
    [position]="pos"
    (initialized$)="onMarkerInit($event)"
    [icon]= " url: mapMarkers[i] "></marker>
</ngui-map>

然后您必须在您的组件类中实现这些方法,并按照here 的描述使用 Google Maps API。

private bounds: google.maps.LatLngBounds;
private map: google.maps.Map;

onMapReady(map) 
  this.map = map;
  this.bounds = new google.maps.LatLngBounds();


onMarkerInit(marker) 
  this.bounds.extend(marker.getPosition());
  this.map.fitBounds(this.bounds);
  this.map.setCenter(this.bounds.getCenter());

【讨论】:

以上是关于如何在 ng2-ui/map 中使用 setbounds的主要内容,如果未能解决你的问题,请参考以下文章

GUI编程Swing的简单应用

如何在你的库中使用 Spring-Data 以及如何在你的项目中使用这个库?

如何在发布管道中使用输出变量

如何在android中使用WCF服务?

如何在 Fragment l 中使用 WebView? [关闭]

如何在 Eclipse 中使用命令行