Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
Crear chinchetas de Bingmap a partir del nombre de la forma

Necesito crear chinchetas para la siguiente entrada.

 var Countries = ["Austria", "Brazil", "India", "Germany", "USA", "Malaysia"]; Microsoft.Maps.SpatialDataService.GeoDataAPIManager.getBoundary(Countries, geoDataRequestOptions, map, (data) => { var value = data.location; if (data.results.length > 0 && data.results[0].Polygons !== null) { var polygons = data.results[0].Polygons; var dataBounds = Microsoft.Maps.LocationRect.fromShapes(data.results[0].Polygons); var loc = new Microsoft.Maps.Location(dataBounds.center.latitude, dataBounds.center.longitude); var pin = new Microsoft.Maps.Pushpin(loc, { icon: svgIcon, anchor: new Microsoft.Maps.Point(20 / 2, 20 / 2) }); map.entities.push(pin); locs.push(pin); map.setView({ bounds: Microsoft.Maps.LocationRect.fromLocations(locs), padding: 80 }); } }); }, 3000);

Estoy usando GeoDataAPIManager para obtener los polígonos de límite y obtener el centro del polígono para generar un marcador. Pero al cargar países como Malasia o EE. UU., las chinchetas se colocan en el mar, ya que getboundary() devuelve varios polígonos y obtener el centro del polígono devuelve el centro entre los dos límites, lo que da como resultado que la chincheta se coloque en el mar.

Avíseme si hay alguna forma alternativa de crear la chincheta o de obtener el centro del polígono.

Ya probé el módulo spatial.Math para obtener el centro.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esta es una ocurrencia común cuando se trabaja con polígonos, ya que su forma puede ser tal que su centro no esté dentro de la geometría real. Hay varias maneras diferentes de hacer esto.

Método 1: este método recurrirá al punto más cercano al centro calculado que está en el borde del polígono.

  • Calcule el centroide/centro usando la biblioteca matemática o el centro aproximado usando el centro del cuadro delimitador.
  • Verifique si el punto interseca el polígono, si no, calcule el punto más cercano en el borde del polígono (distancia más corta), luego use ese punto como su centro.

Método 2: enfócate solo en el polígono más grande.

  • Si la geometría es un MultiPolygon, calcule el área y tome el polígono con el área más grande. Para los EE. UU., esto le daría el polígono para el continente que probablemente desee.
  • Prueba el método 1, usando solo el polígono más grande.

Método 3: Intente calcular un centro visual utilizando una biblioteca externa.

  • Convierta el polígono a GeoJSON usando el módulo GeoJSON en Bing Maps: https://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk/geojsonwritetogeojson
  • Pase la geometría geojson a esta biblioteca para calcular el centro visual. https://github.com/mapbox/polylabel
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda