Mi scuso se questo è di base, ma ho una conoscenza javascript molto limitata.Creazione di infowindows su funzionalità caricate tramite loadGeoJson()
Sto creando una mappa che carica i dati GeoJSON che ho creato in ArcGIS riformattato su GeoJSON utilizzando ogr2ogr. Ho caricato la mappa e mostrato i punti del mio file GeoJSON, e ho anche ottenuto una funzione styleFeature()
per impostare lo stile sulle funzionalità in base alle loro proprietà.
Il problema che sto riscontrando sta provando a far apparire le infowindows quando si fa clic su una funzione punto.
Ho usato con successo il codice per impostare un listener di eventi e aggiornare i contenuti di un div con le informazioni da una caratteristica cliccato:
map.data.loadGeoJson('http://www.myurl.com/file.json');
map.data.setStyle(styleFeature);
map.data.addListener('click', function(event) {
var myHTML = event.feature.getProperty('Description');
document.getElementById('info-box').innerHTML = myHTML;
});
Cos'hai mi piacerebbe fare, invece è di avere un evento che lancia un infowindow come questo, che non funziona:
map.data.loadGeoJson('http://www.myurl.com/file.json');
map.data.setStyle(styleFeature);
map.data.addListener('click', function(event) {
var myHTML = event.feature.getProperty('Description');
var infowindow = new google.maps.InfoWindow({content: myHTML});
});
mio set di dati è costituito da oltre un migliaio di punti in modo hard-codifica i infowindows non funziona, e non ho visto alcun esempio che mostrano come creare un array di infowindows mentre le funzionalità sono collegate in funzione chiamata da setStyle()
entrambi.
So che questo ha a che fare con la mia mancanza di comprensione dell'ambito, degli eventi e degli array di oggetti, ma sto solo colpendo un muro.
Qualsiasi aiuto sarebbe apprezzato.
getGeometry() get() non è più valido.. Ho usato getGeometry.getAt (0) .getAt (0) Grazie per questa risposta! –
Lo snippet di codice nella risposta funziona per me. La [geometria Data.Point ha una funzione 'get()'] (https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.Point). Che problema hai visto? Stai forse usando il codice con linee o poligoni? – geocodezip