メニューを切り替える
個人設定メニューを切り替える
個人メニューを切り替える
ログインしていません
編集を行うと、IPアドレスが公開されます。

「MediaWiki:Citizen.js」の版間の差分

MediaWikiインターフェイスページ
編集の要約なし
編集の要約なし
1行目: 1行目:
(function() {
(function() {
    console.log("Citizen.js loaded");
    alert("Citizen.js loaded");
    (function() {
     console.log("Citizen.js loaded");
     console.log("Citizen.js loaded");


    // ページ読み込み後に処理
     document.addEventListener("DOMContentLoaded", function() {
     document.addEventListener("DOMContentLoaded", function() {
         var maps = document.querySelectorAll('.googlemap');
         var maps = document.querySelectorAll('.googlemap');
         if (maps.length === 0) return;
         console.log("maps NodeList:", maps);
        alert("maps NodeList length: " + maps.length);


         // Google Maps API を読み込む
         maps.forEach(function(el, index){
        var script = document.createElement('script');
            console.log("Map element #" + index, el);
        script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyDOA7e6S9arQa6NvnsFYXxGjX9P_ycwoyM&callback=initMaps';
            alert("Map element #" + index + " found with data-coords: " + el.dataset.coords);
        script.async = true;
        });
        document.body.appendChild(script);
 
        // コールバック関数
        window.initMaps = function() {
            maps.forEach(function(el) {
                var coords = el.dataset.coords.split(',');
                if (coords.length !== 2) return;
                var lat = parseFloat(coords[0].trim());
                var lng = parseFloat(coords[1].trim());
 
                var map = new google.maps.Map(el, {
                    center: {lat: lat, lng: lng},
                    zoom: 16
                });
 
                new google.maps.Marker({
                    position: {lat: lat, lng: lng},
                    map: map
                });
            });
        };
     });
     });
})();
})();
})();

2025年10月23日 (木) 20:15時点における版

(function() {
    console.log("Citizen.js loaded");

    document.addEventListener("DOMContentLoaded", function() {
        var maps = document.querySelectorAll('.googlemap');
        console.log("maps NodeList:", maps);
        alert("maps NodeList length: " + maps.length);

        maps.forEach(function(el, index){
            console.log("Map element #" + index, el);
            alert("Map element #" + index + " found with data-coords: " + el.dataset.coords);
        });
    });
})();