angular / angular/components

feat(google-maps): Add support for polygonPathsChange event

Abierto
#26,303 2 comentarios 10 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

area: google-maps feature P4
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

Feature Description

Hi, old AGM - Angular Google Maps has polygon paths change event and it is so useful. Now I'm converting my components from AGM to google-maps component but it does not support polygon paths change event. It would be great if this component support polygon paths change event like old agm component.

https://github.com/sebholstein/angular-google-maps/blob/340e3e35b60169b901842d0ca71c13944ad7fd2c/packages/core/src/lib/directives/polygon.ts#L197

My old implementation

<agm-map
    [latitude]="latitude"
    [longitude]="longitude"
    (mapReady)="onMapReady($event)"
>
    <agm-polygon
        *ngFor="let shape of shapes"
        [paths]="shape.paths"
        [strokeColor]="getColor(shape)"
        [strokeWeight]="shape.zIndex === 1 ? 3 : 1"
        [fillColor]="getColor(shape)"
        [fillOpacity]="getOpacity(shape)"
        [editable]="shape.editable"
        [zIndex]="shape.zIndex"
        (polyMouseOver)="polyMouseOver($event, shape.shapeName)"
        (polyMouseOut)="polyMouseOut()"
        (polyClick)="polyClick($event, shape)"
        (polyPathsChange)="polyPathsChange($event)"
        (polyRightClick)="polyRightClick($event, shape)"
    >
    </agm-polygon>
</agm-map>

New implementation with google-map

<google-map
    [options]="mapOptions"
    (mapInitialized)="onMapReady($event)"
    (mouseout)="onMapMouseOut()"
>
    <map-polygon
        *ngFor="let shape of shapes"
        [paths]="shape.paths"
        [options]="{
            strokeColor: getColor(shape),
            strokeWeight: shape.zIndex === 1 ? 3 : 1,
            fillColor: getColor(shape),
            fillOpacity: getOpacity(shape),
            zIndex: shape.zIndex,
            editable: shape.editable
        }"
        (polygonMouseover)="polyMouseOver($event, shape.shapeName)"
        (polygonMouseout)="polyMouseOut()"
        (polygonClick)="polyClick($event, shape)"
        (polygonRightclick)="polyRightClick($event, shape)"
    >
    </map-polygon>
</google-map>
Use Case

In my use case I control intersection and cover functionality with old component polyPathsChange event, now I can't control them with efficient way so it is super powerful and helpful feature to be when google-map support polygonPathsChange event itself as old component support.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con el componente map-polygon y compara sus eventos de polígono disponibles con la implementación de polígono AGM referenciada en packages/core/src/lib/directives/polygon.ts#L197. Rastrea cómo se exponen los cambios en la ruta de un polígono editable y, después, verifica que el nuevo evento polygonPathsChange informe de los cambios de la forma esperada para el ejemplo de migración.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript
Área
frontend, web-dev
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.