您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays the locality of the current location, and adds a button to open the GIS if available
当前为
- // ==UserScript==
- // @name WME GIS
- // @author @Philistine11
- // @namespace https://greasyfork.org/en/users/53803
- // @description Displays the locality of the current location, and adds a button to open the GIS if available
- // @include https://www.waze.com/editor/*
- // @version 1.1.2
- // ==/UserScript==
- function gis_init() {
- var location = $('div.location-info-region');
- if (location.length===0) {
- setTimeout(gis_init, 500);
- return;
- }
- location.after('<div style="float:left"><div class="location-info"> - <span id="locality"></span> <a id="gis" class="btn btn-default disabled" style="vertical-align:top" target="_blank" href="#">GIS</a></div></div>');
- var states = {};
- $.getJSON('https://script.google.com/macros/s/AKfycbx2bytvT5Un0TWcaU7BpVkauqeE8zqt8Mek7Zq-OF-bznGYDyZw/exec?link=10dR8z16eKPHeI-ywLcHh2UNS3enQ7gt36Hhzm9nOJbA', function(rows) {
- for (var row in rows)
- states[rows[row][0]] = rows[row][1];
- });
- W.map.events.register('moveend', null, function() {
- var center = W.map.getCenter().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
- $.getJSON('https://maps.googleapis.com/maps/api/geocode/json?latlng='+center.lat+','+center.lon, function(data) {
- if(data.status === "OK"){
- var locs = data.results[0].address_components;
- var state = "";
- var locality = "";
- for (var loc = 0; loc < locs.length; loc++) {
- if (locs[loc].types.indexOf("administrative_area_level_1") != -1)
- state = locs[loc].short_name;
- else if (locs[loc].types.indexOf("administrative_area_level_2") != -1)
- locality = locs[loc].short_name;
- else if (locs[loc].types.indexOf("locality") != -1 && locality === "")
- locality = 'City of ' + locs[loc].short_name;
- }
- $('#locality').text(locality);
- $('#gis').prop('href', '#').addClass('disabled');
- if (states.hasOwnProperty(state)) {
- $('#gis').removeClass('hidden');
- $.get('https://script.google.com/macros/s/AKfycbx2bytvT5Un0TWcaU7BpVkauqeE8zqt8Mek7Zq-OF-bznGYDyZw/exec?link='+states[state], function(rows) {
- for (var row in rows)
- if (rows[row][0] == locality && rows[row][1] !== "") {
- $('#gis').prop('href', rows[row][1].replace('<lat>',center.lat).replace('<lon>',center.lon).replace('<zoom>',W.map.getZoom()+12)).removeClass('disabled');
- break;
- }
- });
- } else
- $('#gis').addClass('hidden');
- }
- });
- });
- }
- gis_init();