我在我的标记中使用了ng-map,如下所示:
<ng-map>
<div ng-repeat="loc in mapsCtrl.locations">
<marker position="{{loc.position}}" title="{{loc.address}}" on-click="mapsCtrl.showDetails(event, {{loc}})">
</marker>
</div>
<info-window id="cached" template="{{mapsCtrl.infoWindowTemplate}}"></info-window>
</ng-map>
...在我的mapsCtrl中,&#39; showDetails&#39;单击标记时成功调用方法。这是控制类:
(function() {
class mapsCtrl {
constructor(NgMap, mapsSrv, UserInfo) {
this.NgMap = NgMap;
...
}
showDetails(event, loc) {
this.NgMap.showInfoWindow('cached', this);
}
...但是在我的&#39; showDetails&#39;,&#39;这个&#39;现在指的是标记,我无法访问NgMap。我如何参考NgMap?
更新
好的,所以我发现对于这个特定用例,因为我有一个对标记的引用,这在showDetails中有效:
showDetails(event, loc) {
this.map.showInfoWindow('cached', this);
}
我仍然不清楚为什么&#39;这个&#39;是指标记而不是对照。有人可以解释一下那里发生了什么吗?