Greasy Fork镜像 is available in English.

Get OpenStreetMap Leaflet object

Get the Leaflet object of OpenStreetMap's website

Dette script bør ikke installeres direkte. Det er et bibliotek, som andre scripts kan inkludere med metadirektivet // @require https://update.greasyforks.org/scripts/533461/1652653/Get%20OpenStreetMap%20Leaflet%20object.js

// ==UserScript==
// @name        Get OpenStreetMap Leaflet object
// @match       *://www.openstreetmap.org/*
// @match       *://www.opengeofiction.net/*
// @match       *://opengeofiction.net/*
// @version     1.1
// @author      CyrilSLi
// @description Get the Leaflet object of OpenStreetMap's website
// @license     MIT
// ==/UserScript==

unsafeWindow.userscriptMap = null;
const callbacks = [];
unsafeWindow.onOSMReady = function (fn) {
    if (typeof fn === 'function') {
        if (unsafeWindow.userscriptMap) {
            fn();
        } else {
            callbacks.push(fn);
        }
    } else {
        throw new Error("Parameter is not a function");
    }
};

if (typeof L !== "undefined" && typeof L.Map !== "undefined") {
    L.Map.addInitHook(function () {
        if (this._container && this._container.id === "map") {
            unsafeWindow.userscriptMap = this;
            while (callbacks.length > 0) {
                callbacks.shift()();
            }
        }
    });
}
长期地址
遇到问题?请前往 GitHub 提 Issues。