NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Parse To GeoChecker And Navigate
// @namespace Parse To geocache.fi's GeoChecker and navigate
// @description Parsii geocache.fi:n GeoCheckerin captcha ruudusta kuusi numerojonoa lat1 lat2 lat2 ja lon1 lon2 lon3 -ruutuihin. Ratkaisun ollessa oikein avaa välilehteen Google Maps navigoinnin kohteeseen.
// @include https://www.geocache.fi/checker/*
// @include http://www.geocache.fi/checker/*
// @version 2.0
// @grant none
// @license MIT
// @copyright 2017, geoharo (https://openuserjs.org/users/geoharo)
// ==/UserScript==
//User navigation config (driving/walking/bicycling/transit):
//var travelmode = "driving";
//Script:
var url = window.location.href;
if (url.slice(-9) === "index.php") {
if (document.body.innerHTML.indexOf("color=\"#00AA00\"") != -1) { //&& travelmode != "off"
var correct = document.body.innerHTML.match(/[NS].\d{2}..\d{2}.\d{3}.[EW].\d{2}..\d{2}.\d{3}/g)[0].replace(/ /g, '%20');
var navi = 'https://www.google.com/maps/dir/?api=1&origin=(Home%20Location)&destination=' + correct; //+ '&travelmode=' + travelmode;
window.open(navi);
}
}
else {
var seccodeElem = document.querySelectorAll('input[name="seccode"]');
seccodeElem[0].setAttribute('id', 'seccode');
seccodeElem[0].setAttribute('size', '30');
}
function parser(input) {
var coords = input.match(/(\d{1,3})/g);
if (coords.length === 6) {
document.querySelectorAll('input[name="cachelat1"]')[0].setAttribute('value', coords[0]);
document.querySelectorAll('input[name="cachelat2"]')[0].setAttribute('value', coords[1]);
document.querySelectorAll('input[name="cachelat3"]')[0].setAttribute('value', coords[2]);
document.querySelectorAll('input[name="cachelon1"]')[0].setAttribute('value', coords[3]);
document.querySelectorAll('input[name="cachelon2"]')[0].setAttribute('value', coords[4]);
document.querySelectorAll('input[name="cachelon3"]')[0].setAttribute('value', coords[5]);
document.getElementById('seccode').value = "";
}
}
var input = document.getElementById('seccode');
input.onchange = (e) => {
parser(e.target.value);
};