Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- var url, latlon, lat, lon, isYandex, zoom, map;
- url = decodeURIComponent(window.location);
- // Common style
- lat = (lat = /(?:lat|latitude|\Wlt)[^\d-]+([\d.-]*)/.exec(url)) == null ? lat : lat[1];
- lon = (lon = /(?:lon|lng|long|longitude|\Wln)[^\d-]+([\d.-]*)/.exec(url)) == null ? lon : lon[1];
- zoom = (zoom = /(?:zoom|\Wz)\D*([\d.]*)/.exec(url)) == null ? '14' : zoom[1];
- // Google and Yandex style
- if (!(lat && lon)) {
- latlon = (latlon = /ll=([\d.,-]*)/.exec(url)) == null ? latlon : latlon[1].split(',');
- if (latlon && latlon.length > 1) {
- isYandex = /\/\/[^\/]*yandex/.test(url) | 0;
- lon = latlon[1 - isYandex];
- lat = latlon[isYandex];
- }
- }
- // Openstreetmap new style
- if (!(lat && lon)) {
- latlon = /(\d+)\/(-?\d+\.\d+)\/(-?\d+\.\d+)/.exec(url);
- if (latlon) {
- lat = latlon[2];
- lon = latlon[3];
- zoom = latlon[1];
- }
- }
- // 2Gis style
- if (!(lat && lon)) {
- latlon = /(-?\d+\.\d+),(-?\d+\.\d+)\/zoom\/(\d+)/.exec(url);
- if (latlon) {
- lat = latlon[2];
- lon = latlon[1];
- zoom = latlon[3];
- }
- }
- // Vkontakte
- if (!(lat && lon)) {
- map = window.placeMap || (window.cur ? window.cur.placeMap : null);
- if (map) {
- latlon = map.getCenter();
- lat = latlon.lat;
- lon = latlon.lon;
- zoom = map.getZoom();
- }
- }
- // Bing
- if (!(lat && lon)) {
- map = window.map;
- if (map && map.get_center && map.get_zoomLevel) {
- latlon = map.get_center();
- lon = latlon.longitude;
- lat = latlon.latitude;
- zoom = map.get_zoomLevel();
- }
- }
- if (!(lat && lon)) return;
- window.location = 'http://openstreetmap.ru/#zoom=' + zoom + '&lat=' + lat + '&lon=' + lon;
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement