J'ai l'ID de l'entité, je peux saisir le calque de marqueur sur le loadend de GeoRSS, mais je ne suis toujours pas sûr de savoir comment faire apparaître le popup par programmation.Quelle est la manière correcte dans OpenLayers (OSM) de déclencher un popup pour une fonctionnalité?
Je créerai la popup à la demande si c'est nécessaire, mais il semble que je devrais être capable d'obtenir l'identifiant du marqueur dessiné sur la carte et d'appeler un événement là-dessus. J'ai essayé d'utiliser jQuery et d'appeler l'événement $(marker-id).click()
sur les éléments de la carte, mais cela ne semble pas fonctionner. Qu'est-ce que je rate?
Depuis, on m'a demandé de code, et que je présumais à être passe-partout, voici où je suis jusqu'à présent:
map = new OpenLayers.Map('myMap');
map.addLayer(new OpenLayers.Layer.OSM());
map.addLayer(new OpenLayers.Layer.GeoRSS(name,url));
//I've done some stuff as well in re: projections and centering and
//setting extents, but those really don't pertain to this question.
Ailleurs, je l'ai fait un peu de jQuery modèlet me construit une belle liste de tous les points qui sont affichés sur la carte. Je sais comment faire un rappel à partir de la couche loadend
et obtenir l'objet de calque, je sais comment extraire manuellement ma couche de la carte, je sais comment iter sur la collection de calques et trouver ma couche. Donc, je peux saisir n'importe lequel de ces détails sur la popup, mais je ne sais toujours pas comment utiliser les méthodes intégrées du DOM ou de cette API pour le rendre aussi facile que element.click()
ce qui est ce que je préférerais faire.
Lorsque vous ajoutez un popup à la couche d'un Popup, son ouverture automatique. Pouvez-vous poster un petit code source de votre développement? –
@Fran ~ J'ajoute une couche georss et je veux juste pouvoir faire quelque chose comme la page map de google, où cliquer sur un lien sur la gauche fait apparaître la popup sur la droite. Je ne pense vraiment pas que mon code si loin signifierait quelque chose. C'est littéralement quelque chose pour construire la chose sur la gauche pour l'affichage, et ensuite pour la carte c'est 'map = new OpenLayers.Map ('myMap'); map.addLayer (new OpenLayers.Layer.OSM()); map.addLayer (new OpenLayers.Layer.GeoRSS (name, url)); 'Tout autre code que j'ai écrit ne serait pas lié à la question en question, j'en suis sûr. – jcolebrand
Avez-vous assez pour fermer le problème? –