Estoy intentando usar la biblioteca PolyLabel con datos de GeoJSON y la API de Google Maps para generar etiquetas colocadas apropiadamente para polígonos irregulares. La documentación dice que la biblioteca acepta coordenadas de polígonos en formato similar a GeoJSON .
El problema es que no puedo averiguar qué datos pasar de la capa de datos de la API de Google Maps a PolyLabel para obtener la mejor posición de etiqueta.
polygons.forEach(function (feature) { var geo = feature.getGeometry(); var position = polylabel(???, 1.0); var mapLabel = new MapLabel({ position: position, text: feature.getProperty("LABEL"), fontSize: 25, fontColor: "red", map: map }) currentLabels.push(mapLabel); });Probé múltiples variaciones al pasar la función, la geometría, las coordenadas sin procesar y construir polígonos a partir de las coordenadas.
También vale la pena señalar que los datos de GeoJSON contienen una mezcla de polígonos y multipolígonos.
Gracias.
Definitivamente difícil de ver, pero puedes encontrarlo aquí. https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/polylabel/index.d.ts
para cada punto en el polígono, tienes [x, y]. Cada polígono es entonces [[x,y]...], y polylabel toma una matriz de polígonos.