使用角度Google地图是否可以对纬度和经度进行双向绑定?

问题描述 投票:0回答:1

我正在使用以下代码在我的角度应用程序上显示Google地图:

<agm-map id="map" [(latitude)]="lat" [zoom]="zoom" [(longitude)]="lng" [zoomControl]="false"
    [streetViewControl]="false">
  </agm-map>
<span>{{lat}} : {{lng}}</span>

在加载时有效,我得到了控制器中的初始坐标。

如果我在控制器中更新latlng,则可以正常工作,地图和跨度均正确更新。

但是当我用鼠标移动地图时,lat和lng不会更新。

我需要根据位置更改一些标记集合。

这不被支持还是我做错了什么?

angular angular-google-maps
1个回答
0
投票

使用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);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.