banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 ?

René-Luc D'Hont a écrit:

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

 

Pied de page des forums

Powered by FluxBB