<agm-map (mapClick)="mapClicked($event)" [latitude]="latitude" [longitude]="longitude" [scrollwheel]="false" [zoom]="zoom">
<agm-marker (markerClick)="mapClicked(place)" *ngFor="let place of searchplace" [iconUrl]="place.icon" [latitude]="place.geometry.location ? place.geometry.location.lat() : ''"
[longitude]="place.geometry.location ? place.geometry.location.lng() : ''">
</agm-marker>
</agm-map>
我正在使用agm-map,在任何位置单击时都想获取coords / placeId。 我只想获取此地点信息以获取地点详细信息。我使用了mapClick函数,但它没有给我特定的地点信息。每当我单击任何地方并打开信息窗口时,请帮助我获取cords / placeId。
答案 0 :(得分:0)
获取 placeId 所能做的就是监听mapReady事件。触发时,您将获得地图的实例,然后可以向其中添加点击侦听器。当用户点击地图上的某个地点时,如果它是Google Maps上的一个地点(又称“ POI ”或(兴趣点)),那么您将获得一个包含地点的 placeId 。
map.component.html:
<agm-map (mapReady)="onMapReady($event)" ... ></agm-map>
map.component.ts:
public onMapReady(map) {
map.addListener('click', (e) => {
...
});
}
在上面的代码中,“ e”将是包含 placeId 的对象(如果用户单击了某个位置)。如果用户未单击某个位置,则不会返回任何 placeId 。
注意:我认为他们正在采用一种(特定于AGM的)方式通过mapClick
事件返回 placeId ,但是暂时-在实现之前,发布,这应该可以工作。