我正在使用以下代码在我的角度应用程序上显示Google地图:
<agm-map id="map" [(latitude)]="lat" [zoom]="zoom" [(longitude)]="lng" [zoomControl]="false"
[streetViewControl]="false">
</agm-map>
<span>{{lat}} : {{lng}}</span>
在加载时有效,我得到了控制器中的初始坐标。
如果我在控制器中更新lat
或lng
,则可以正常工作,地图和跨度均正确更新。
但是当我用鼠标移动地图时,lat和lng不会更新。
我需要根据位置更改一些标记集合。
这不被支持还是我做错了什么?
使用centerChange输出事件发射器来获取纬度和经度
component.html
<agm-map id="map" [(latitude)]="lat" [zoom]="zoom" [(longitude)]="lng" [zoomControl]="false" (centerChange)="centerChange($event)"
[streetViewControl]="false">
</agm-map>
<span>{{lat}} : {{lng}}</span>
component.ts
进口
import { Component, OnInit } from "@angular/core";
import { Subject } from "rxjs";
import { debounceTime } from "rxjs/operators";
export class Component implements OnInit {
subject: Subject<LatLngLiteral> = new Subject();
ngOnInit() {
this.subject.pipe(debounceTime(300)).subscribe(details => {
this.lat = details.lat;
this.lng = details.lng;
});
}
centerChange(code) {
this.subject.next(code);
}
}