Pages: 1
- Sujet précédent - [Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ? - Sujet suivant
#1 Fri 23 July 2010 09:59
- Senelya
- Juste Inscrit !
- Date d'inscription: 23 Jul 2010
- Messages: 3
[Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ?
Bonjour,
J'ai trouvé du code sur Internet (Merci à l'auteur au passage !) pour faire apparaitre des lieux sur une carte Open Street Map. Lorsque l'on clique sur une des images, une bulle de texte s'ouvre avec des informations sur le lieu. Or la taille de la bulle est automatique et je souhaiterais l'agrandir. J'aimerai également faire pour qu'elle apparaisse lorsque l'on passe la souris dessus, sans que l'on ait besoin de cliquer.
Auriez-vous une solution ? Merci par avance.
Voici le code :
Code:
<html> <head> <title>My Open Street Map</title> <!-- bring in the OpenLayers javascript library --> <script src="http://www.openlayers.org/api/OpenLayers.js"></script> <!-- bring in the OpenStreetMap OpenLayers layers --> <script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script> <script type="text/javascript"> // Start position for the map var lat=40 var lon=10 var zoom=8 var map; //complex object of type OpenLayers.Map function init() { map = new OpenLayers.Map ("map", { controls:[ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.LayerSwitcher(), new OpenLayers.Control.Attribution()], maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution: 156543.0399, numZoomLevels: 19, units: 'm', projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") } ); // Define the map layer layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik"); map.addLayer(layerMapnik); layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender"); map.addLayer(layerTilesAtHome); layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap"); map.addLayer(layerCycleMap); // Get the file data.txt in the current file // Display the markers var Markers = new OpenLayers.Layer.Text( "Markers", { location:"./texte.txt", projection: new OpenLayers.Projection("EPSG:4326")} ); map.addLayer(Markers); var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); map.setCenter (lonLat, zoom); } </script> </head> <!-- body.onload is called once the page is loaded (call the 'init' function) --> <body onload="init();"> <!-- define a DIV into which the map will appear. Make it take up the whole window --> <div style="width:90%; height:90%" id="map"></div> </body> </html>
et le texte.txt utilisé qui est la base de données des coordonnées GPS :
Code:
lon lat title description icon iconSize iconOffset 10 50 premier lieu blabla ./image.png 32,16 -16,8 11 30 deuxieme lieu blabla ./image.png 32,16 -16,8 .....
Hors ligne
#2 Fri 23 July 2010 12:56
- Senelya
- Juste Inscrit !
- Date d'inscription: 23 Jul 2010
- Messages: 3
Re: [Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ?
Pas d'inspiration ? Même pas une toute petite ?
Hors ligne
#3 Fri 23 July 2010 13:15
- René-Luc D'Hont
- Participant assidu
- Date d'inscription: 7 Nov 2006
- Messages: 328
- Site web
Re: [Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ?
Si tu hackes la classe Openlayers.Layer.Text
Ou tu n'utilises pas du CSV mais du KML, GeoJSON, GML pour ta couches de point et tu recodes le système d'affichage de popup.
Hors ligne
#4 Fri 23 July 2010 14:49
- Senelya
- Juste Inscrit !
- Date d'inscription: 23 Jul 2010
- Messages: 3
Re: [Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ?
Si tu hackes la classe Openlayers.Layer.Text
Ou tu n'utilises pas du CSV mais du KML, GeoJSON, GML pour ta couches de point et tu recodes le système d'affichage de popup.
Comment puis-je hacker la classe ? ... Je suis pas une pro, je commence
Hors ligne
Pages: 1
- Sujet précédent - [Openlayers] Bulles de texte sur carte OSM - Comment les agrandir ? - Sujet suivant