Ani*_*nil 3 google-maps-markers angular-google-maps angular
从 angular google maps API 中,我们有一个具有以下定义的 markerClick() 函数,
@Output() markerClick: EventEmitter<void> = new EventEmitter<void>();
Run Code Online (Sandbox Code Playgroud)
但是当我在我的应用程序中使用时,我得到NULL。
我有以下应用程序代码,
在我的 HTML 文件中,
<agm-map [latitude]="latitude" [longitude]="longitude" [zoom]="zoom">
<agm-marker *ngFor="let marker of coordinates;"
[iconUrl]="icon"
[latitude]="marker.latitude"
[longitude]="marker.longitude"
[markerClickable]="true"
(markerClick)="markerClicked($event)">
</agm-marker>
</agm-map>
Run Code Online (Sandbox Code Playgroud)
在 .TS 文件中,
markerClicked($event: MouseEvent) {
console.log('clicked'); ----------------(1)
console.log($event);--------------------(2)
}
Run Code Online (Sandbox Code Playgroud)
对于语句 (2),我得到 NULL 作为控制台输出。我期待它是标记对象。我的理解有误吗?如何从markerClick() 函数中获取纬度和经度。
请注意,我已经将mapClick()函数用于agm -map 标签,但是当我使用该函数时,它没有响应对地图上已绘制标记的点击。
如果您更深入地查看FILE,它总是会发出null:
this.markerClick.emit(null); // line no : 192
Run Code Online (Sandbox Code Playgroud)
你可以做的是改变这一点:
(markerClick)="markerClicked($event)"
Run Code Online (Sandbox Code Playgroud)
到 :
(markerClick)="markerClicked(marker)" // this way you will get the marker object
Run Code Online (Sandbox Code Playgroud)
工作演示(点击任何可用的标记)
| 归档时间: |
|
| 查看次数: |
6005 次 |
| 最近记录: |