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

253
Vistas
ArcGIS-JS-API: el contenido personalizado en la plantilla emergente no muestra nada (Angular 11)

Quiero mostrar un hipervínculo en la parte inferior de la plantilla emergente en el mapa arcgis esri. Agregué el código que probé, pero el hipervínculo no se muestra en la plantilla emergente. Solo se muestra la tabla de campos. ¿Podría por favor mirar este código y decirme si me he perdido algo?

archivo .ts

 const popUpTemplate = new PopupTemplate({ title: "{name}", content: [ { type: "fields", fieldInfos: [ { fieldName: "PhysicianName", label: "Physician Name" }, { fieldName: "Practice", label: "Primary Practise", }, ] }, new CustomContent({ outFields: ["*"], creator: (graphic) => { const a = document.createElement("a"); a.href = "https://www.youtube.com/"; a.target = "_blank"; a.innerText = graphic.attributes.PhysicianName; return a; } }) ], outFields: ["*"] }); const myLayer = new FeatureLayer({ source: physicianData.map((d,i)=>( { geometry: new Point({ longitude: d.Longitude, latitude: d.Latitude }), attributes: { ObjectID: i, name : d.PhysicianName, PhysicianName : d.PhysicianName, Practice : d.Practice, ...d } } )), fields: [{ name: "ObjectID", alias: "ObjectID", type: "oid" }, { name: "name", alias: "Physician : ", type: "string" }, { name: "PhysicianName", alias: "Physician Name", type: "string" }, { name: "Practice", alias: "Practice", type: "string" }, ], objectIdField: 'ObjectID', geometryType: "point", popupTemplate : popUpTemplate, });

archivo .html

 <div #mapViewNode></div>
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Creo que su problema es que necesita definir los campos de la capa.

Si está trabajando con gráficos del lado del cliente y FeatureLayer , debe configurar:

  • source , la colección de gráficos (geometría + atributos)
  • objectIdField , el campo que va a identificar los gráficos, escriba oid (*)
  • fields , el nombre, alias y tipo de cada campo de los atributos gráficos

En tu caso, solo deduciendo los posibles atributos, debería ser algo como esto

 const dataFeedLayer = new FeatureLayer({ source: locationData.map((d,i)=>( { geometry: new Point({ longitude: d.longitude, latitude: d.latitude }), attributes: { ObjectID: i, ...d } } )), objectIdField: 'ObjectID', popupTemplate : popUpTemplate, fields: [ { name: "ObjectID", alias: "ID", type: "oid" }, { name: "PhysicianName", alias: "Physician Name", type: "string" }, { name: "PrimarySpecialty", alias: "Primary Specialty", type: "string" }, { name: "url", alias: "Url", type: "string" } ] });

Al crear un FeatureLayer a partir de entidades del lado del cliente, esta propiedad debe establecerse en el constructor junto con la propiedad de origen. El campo objectId también debe establecerse en esta matriz o en la propiedad objectIdField.

Desde ArcGIS JS API - Campos FeatureLayer

about 4 years ago · Santiago Gelvez 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