FR:Bookmarklet JumpToOsm
Ce bookmarklet récupère le zoom et les coordonnées géographiques WGS84 présentes dans l'URL courante et ouvre une page sur openstreetmap.org au même endroit.
Formats reconnus
L'url courante doit contenir les informations sous une des formes suivantes :
- soit 00/-00.00000/-000.00000 (dans l'ordre : zoom, latitude, longitude),
- soit zoom=00&lat=-00.00000&lon=-000.00000 (dans n'importe quel ordre et pas forcément à la suite).
Si ces informations ne sont pas détectées, aucun onglet n'est créé (un message d'erreur s'affiche).
Notes :
- le niveau de zoom est encore un entier (automatiquement limité à l'intervalle de 0 à 19 sur le site web OSM avec le rendu par défaut actuel) ;
- la latitude WGS84 est en degrés décimaux (automatiquement limitée à l'intervalle de -85.05113 à 85.05113, et dont la valeur est ensuite arrondie selon le niveau de zoom) ;
- la longitude WGS84 est en degrés décimaux (automatiquement réduite modulo 360 à l'intervalle de -180 à 180, et dont la valeur est ensuite arrondie selon le niveau de zoom) ;
- les trois nombres sont limités aux chiffres ASCII, avec un signe moins optionnel en tête pour les coordonnées, le point comme séparateur des décimales et aucun séparateur de groupes.
Source
Bookmarklet
Copier le texte suivant dans l'adresse du nouveau marque-page :
javascript:%28function%28%29%7Bvar%20L%3Dlocation.href%2Cp%3DL.match%28%2F%5Cd%7B1%2C2%7D%5C%2F-%3F%5Cd%7B1%2C3%7D%5C.%5Cd%2B%5C%2F-%3F%5Cd%7B1%2C3%7D%5C.%5Cd%2B%2F%29%3Bif%28p%21%3Dnull%29window.open%28%22https%3A%2F%2Fwww.openstreetmap.org%2F%23map%3D%22%2Bp%5B0%5D%29%3Belse%7Bvar%20z%3DL.match%28%2Fzoom%3D%28%5Cd%7B1%2C2%7D%29%2F%29%2Cy%3DL.match%28%2Flat%3D%28-%3F%5Cd%7B1%2C2%7D%28%5C.%5Cd%2B%29%3F%29%2F%29%2Cx%3DL.match%28%2Flon%3D%28-%3F%5Cd%7B1%2C3%7D%28%5C.%5Cd%2B%29%3F%29%2F%29%3Bif%28z%21%3Dnull%26%26y%21%3Dnull%26%26x%21%3Dnull%29window.open%28%22https%3A%2F%2Fwww.openstreetmap.org%2F%23map%3D%22%2Bz%5B1%5D%2B%22%2F%22%2By%5B1%5D%2B%22%2F%22%2Bx%5B1%5D%29%3Belse%20alert%28%22Jump%20to%20OpenStreetMap%20impossible.%5Cn%5Cn%5CCould%20not%20find%20zoom%20and%20coordinates%20in%20url.%22%29%3B%7D%7D%29%28%29
Version lisible
(pour faciliter l'édition du code Javascript encapsulé et encodé dans un chemin d'URL)
(function() {
var L = location.href, p = L.match(/\d{1,2}\/-?\d{1,3}\.\d+\/-?\d{1,3}\.\d+/);
if (p != null)
window.open("https://www.openstreetmap.org/#map=" + p[0]);
else {
var z = L.match(/zoom=(\d{1,2})/),
y = L.match(/lat=(-?\d{1,2}(\.\d+)?)/),
x = L.match(/lon=(-?\d{1,3}(\.\d+)?)/);
if (z != null && y != null && x != null)
window.open("https://www.openstreetmap.org/#map=" + z[1] + "/" + y[1] + "/" + x[1]);
else
alert("Jump to OpenStreetMap impossible.\n\n\Could not find zoom and coordinates in url.");
}
})()
Crédits
Auteur : the_knife
Licence : copyleft