ES:Bookmarklet JumpToOsm

From OpenStreetMap Wiki
Jump to navigation Jump to search

Este bookmarklet recupera el zum y coordenadas en la url actual y abre una página en openstreetmap.org en el mismo lugar.

Formatos reconocidos

La url actual debe contener la siguiente información:

  • ya sea 0/0.000/0.000
  • o zoom=0&lat=0.000&lon=0.000 (el orden no importa y son posibles otros parámetros en la sentencia)

Si no se encuentra ninguna de esta información, no se creará ninguna pestaña (se mostrará un mensaje de error).

Código fuente

Bookmarklet

javascript:(function(){params=location.href.match(/\d{1,2}\/-?\d{1,3}\.\d+\/-?\d{1,3}\.\d+/);if(params!=null){window.open("http://www.openstreetmap.org/#map="+params[0]);}else{zoom=location.href.match(/zoom=(\d{1,2})/);lat=location.href.match(/lat=(-?\d{1,3}\.\d+)/);lon=location.href.match(/lon=(-?\d{1,3}\.\d+)/);if(zoom!=null&&lat!=null&&lon!=null){window.open("http://www.openstreetmap.org/#map="+zoom[1]+"/"+lat[1]+"/"+lon[1]);}else{alert("Jump%20to%20OpenStreetMap%20impossible.\n\n\Could%20not%20find%20zoom%20and%20coordinates%20in%20url.");}}})()

Versión legible

javascript:
(function() {
  params = location.href.match(/\d{1,2}\/-?\d{1,3}\.\d+\/-?\d{1,3}\.\d+/) ;
  if (params!=null){
    window.open("http://www.openstreetmap.org/#map="+params[0]) ;
  } else {
    zoom = location.href.match(/zoom=(\d{1,2})/) ;
    lat = location.href.match(/lat=(-?\d{1,3}\.\d+)/) ;
    lon = location.href.match(/lon=(-?\d{1,3}\.\d+)/) ;
    if (zoom!=null && lat!=null && lon!=null) {
      window.open("http://www.openstreetmap.org/#map="+zoom[1]+"/"+lat[1]+"/"+lon[1]) ;
    } else {
      alert("Jump%20to%20OpenStreetMap%20impossible.\n\n\Could%20not%20find%20zoom%20and%20coordinates%20in%20url.") ;
    }
  }
}
)()

Créditos

Autor: the knife
Licencia: Copyleft