我有一个带有 2 个 agm 折线点的 agm 折线。移动线的边缘(中点)时,我想用 3 个点保存新线。问题是,当将边缘移动到新位置时,事件返回错误的坐标/或只是其他坐标。
<agm-map [zoom]="zoom" [latitude]="lat" [longitude]="lng" style="height: 500px">
<agm-polyline [editable]="true" (lineMouseUp)="addEdge($event)">
<agm-polyline-point
*ngFor="let point of points" [latitude]="point.lat" [longitude]="point.lng"></agm-polyline-point>
</agm-polyline>
</agm-map>
lat: number = 32.0795723;
lng: number = 34.7757089;
zoom: number = 16;
@ViewChild('line') polyLine : AgmPolyline;
points = [
{lat: 32.0795723, lng: 34.7757089},
{lat: 32.0780565, lng: 34.7798036}
]
addEdge(event){
let point = {lat: event.latLng.lat(), lng: event.latLng.lng()};
if (event.vertex !== undefined) {
this.points[event.vertex] = point;
} else if (event.edge !== undefined) {
this.points.splice(event.edge + 1, 0, point);
}
console.log(this.points)
}
看看stackblitz。