Opens the current Waze Map Editor view in Google Map Maker
当前为
// ==UserScript==
// @name Open WME in GMM
// @description Opens the current Waze Map Editor view in Google Map Maker
// @namespace vaindil
// @version 0.6.1
// @grant none
// @include https://www.waze.com/editor/*
// @include https://www.waze.com/*/editor/*
// @include https://editor-beta.waze.com/*
// @author vaindil
// ==/UserScript==
console.log("WMEGMM BEGINNING");
startcode = function() {
try {
var element = $('div .view-area.olMap #WazeMap');
if (typeof element !== "undefined" && element.value !== '') {
console.log("WMEGMM START");
$('#user-details').append('<hr /><a id="WMEtoGMM" href="'+gen_url()+'" target="_blank" style="font-weight:bold;"><button class="btn">Open in GMM</button></a><hr />');
} else {
console.log("WMEGMM TIMEOUT");
setTimeout(startcode, 1000);
}
} catch (err) {
console.log("WME to GMM error: "+err);
setTimeout(startcode, 1000);
}
};
function gen_url() {
var projI=new OpenLayers.Projection("EPSG:900913");
var projE=new OpenLayers.Projection("EPSG:4326");
var center_lonlat=(new OpenLayers.LonLat(Waze.map.center.lon,Waze.map.center.lat)).transform(projI, projE);
var topleft=(new OpenLayers.LonLat(Waze.map.getExtent().left,Waze.map.getExtent().top)).transform(projI, projE);
var bottomright=(new OpenLayers.LonLat(Waze.map.getExtent().right,Waze.map.getExtent().bottom)).transform(projI, projE);
lat=Math.round(center_lonlat.lat * 1000000)/1000000;
lon=Math.round(center_lonlat.lon * 1000000)/1000000;
spn=Math.abs(topleft.lat-bottomright.lat)+','+Math.abs(topleft.lon-bottomright.lon);
return 'https://www.google.com/mapmaker?ll='+lat+','+lon+'&spn='+spn+'&lyt=large_map_v3';
}
$('#editor-container').mouseup(function() {
$('#WMEtoGMM').attr('href', gen_url());
});
startcode();