Я хочу получить точные координаты от agm-карты, когда я нажимаю на любое место или когда открылось информационное окно
Это изображение, пожалуйста, смотрите
<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-карту, я хочу получить координаты /placeId при нажатии на любое место. Я просто хочу получить эти местные шнуры для получения сведений о месте. Я использовал функцию mapClick, но она не дает мне особые места. Пожалуйста, помогите мне получить шнуры /placeId всякий раз, когда я нажимаю на любое место и открываю информационное окно.
0 ответов
Что вы можете сделать, чтобы получить placeId, так это прослушать событие mapReady. Когда он сработает, вы получите экземпляр карты, к которому затем можете добавить прослушиватель кликов. Когда пользователь щелкает место на карте, если это место на Картах Google (также известное как "POI" или (Point Of Interest)), вы получите обратно объект, который включает 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) способом вернуть placeId черезmapClick
событие, но на данный момент - до того, как это будет реализовано и выпущено, это должно работать.