Je suis en train de ré-analyser le fichier KML déjà chargé sur la carte, comme dans l'exemple suivant: http://openlayers.org/dev/examples/sundials.html et de le transformer en une liste cliquable qui va centrer la carte sur le point cliqué et afficher la fenêtre contextuelle correspondante.Comment activer une fonction + popup lorsque vous cliquez en dehors d'une carte dans Openlayers?
Cela a été très facile à faire dans Google Maps, mais je ne trouve pas d'exemples similaires d'Openlayers. Y a-t-il un moyen plus facile de faire cela? Quelque chose de intégré que j'ai manqué?
HTML:
<ul id="locationTable">
</ul>
JS:
htmlRows = "";
for(var feat in features) {
// Build details table
featId = features[feat].id; // determine the feature ID
title = jQuery(f).filter('[name=TITLE]').text();
htmlRow = "<li><a href="javascript:selectFeature('"+featId+"');\">"+title+"</a></li>";
htmlRows = htmlRows + htmlRow;
}
jQuery('#locationTable').append(htmlRows);
Et puis pour la fonction SelectFeature:
function selectFeature(fid) {
for(var i = 0; i<kml.features.length;++i) {
if (kml.features[i].id == fid)
{
selected = new OpenLayers.Control.SelectFeature(kml.features[i]);
selected.clickFeature(); // make call to simulate Click event of feature
break;
}
}
}
Vous étiez où je suis. Avez-vous déjà trouvé une réponse? – jcolebrand
J'ai fini de boucler à nouveau le KML et d'ajouter des liens pour chaque élément de la table et en utilisant simplement zoomToHere() onClick de chacun et en le pointant aux coordonnées du centroïde. Je n'ai pas réussi à comprendre comment afficher la fenêtre contextuelle. J'ai aussi joué avec le signin addin qui fait plus ou moins la même chose: http://trac.osgeo.org/openlayers/wiki/Addins/Bookmark, mais il y avait beaucoup plus de code. – Chris