La liste officielle est située sur cette page, voici un extrait :
Vous avez deux manières pour accélérer la vitesse d'affichage des tuiles :
{buffer: 0} dans les options de vos couches. cela diminuera les tuiles chargées en dehors de la carte d'une façon importante. Si le chargement des tuiles est lent, faites cela en premier.multiserver.html.Insérez cette ligne dans votre code javascript :
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
La méthode map.addLayer accepte seulement un seul paramètre.
map.addLayer(new OpenLayers.Layer.GML("Regions", "gml/output.gml"));
Pour appliquer un style à la couche GML, il faut lui donner une option :
map.addLayer(new OpenLayers.Layer.GML(“Regions”, “gml/output.gml”,{style: style_green}));
D'autres options sont possibles :
fillColor: "#ee9900" fillOpacity: 0.4
Currently, when you define your map, you make a fixed list of scales.
However, you can change this list on the layer. It's possibly not the most sane solution, but what you can do is this:
m = new OpenLayers.Map("map");
l = new OpenLayers.Layer.WMS(etc.)
m.addLayer(l);
then to pick a scale:
l.resolutions = [OpenLayers.Util.getResolutionFromScale(20000)]; m.zoomTo(1); m.zoomTo(0);
bbox ="594467,2423939,606334,2433389"; map.zoomToExtent(new OpenLayers.Bounds(bbox));
Placer ceci dans votre fichier css :
div.olControlMousePosition {
bottom: 0em;
right: 3px;
display: block;
position: absolute;
font-family: Arial;
color: #ffffff;
font-size: 13px;
font-weight:bold;
}
I would like to configure the markers' popup boxes so they look a little nicer, maybe add a border and a background color, that sort of thing.
The JS to generate the popups is in lib/OpenLayers/Layer/GeoRSS.js around line 150. The CSS items in question are :
div.olPopup The popup div itself. div.olPopupContent Inside the popup, contains the items below. div.olLayerGeoRSSClose The X in the popup. div.olLayerGeoRSSTitle The title. div.olLayerGeoRSSTitle link The title hyperlink itself. div.olLayerGeoRSSDescription The description.
var layer_switcher = new OpenLayers.Control.LayerSwitcher(); map.addControl(layer_switcher); layer_switcher.maximizeControl();
Uniquement en ajoutant du code html de ce type :
<div id="map"> <div id="arrow" style="position: relative; top: 30px; left: 400px;"> <img src="arrow.png" /> </div> </div
L'utilisation d'une boite de contrôle est une mauvaise idée.
Définissez le paramètre metaTile à True dans votre fichier de config de TileCache
metaTile=yes
La résolution est une unité par pixel, plutôt que par tuile : vous désirez probablement quelques chose comme 0.140625 (36 degrés / 256) pour obtenir des carrés de 36 degrés.
OpenLayers.Layer.GeoRSS inherets from OpenLayers.Layer.Markers (http://dev.openlayers.org/docs/files/OpenLayers/Layer/Markers-js.html# OpenLayers.Layer.Markers). Trying to add the marker with the addMarker method will probably solve your problem.
var layer = new OpenLayers.Layer.GeoRSS(...)
var marker = new OpenLayers.Marker(
new OpenLayers.LonLat(y,x),
new OpenLayers.Icon(
path, // e.g. "http://openlayers.org/api/img/marker.png"
new OpenLayers.Size(img_w,img_h)
));
Layer.addMarker(marker)
En désactivant la couche puis en la rechargeant :
layer.loaded = false; layer.loadRSS();
Notez que cette manière de faire n'est pas propre à l'API et que les méthodes peuvent évoluer. Une autre méthode consiste à charger une nouvelle couche à chaque nouveau chargement.
Les sources issus de cette page sont diverses :
— Yves Jacolin 2008/07/17 21:49