FR:Bookmarklet JumpToOsm

From OpenStreetMap Wiki
Jump to navigation Jump to search

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