MediaWiki:Gadget-OpenStreetMapBag.js - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

MediaWiki:Gadget-OpenStreetMapBag.js

  • Arayüz metni
  • Tartışma
  • Oku
  • Kaynağı gör
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Kaynağı gör
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
Görünüm
Vikipedi, özgür ansiklopedi

Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.

mw.loader.load('https://www.wikidata.org/w/load.php?modules=wikibase'); // Vikiveri modülü yüklensin

$(function () {
    // Yalnızca madde sayfalarında çalıştır
    if (mw.config.get('wgNamespaceNumber') !== 0) return;

    // Vikiveri öğesini al
    var entityId = mw.config.get('wgWikibaseItemId');
    if (!entityId) return; // Vikiveri öğesi yoksa çık

    // Vikiveri API'sini kullanarak gerekli özellikleri (P625, P11693, P10689, P402) al
    var apiUrl = 'https://www.wikidata.org/w/api.php?action=wbgetentities&ids=' + entityId + '&props=claims&format=json&origin=*';
    $.getJSON(apiUrl, function (data) {
        if (!data.entities || !data.entities[entityId]) return;

        var claims = data.entities[entityId].claims;
        if (!claims) return;

        // Koordinatlar (P625)
        var coords = claims.P625 ? claims.P625[0].mainsnak.datavalue.value : null;
        var lat = coords ? coords.latitude : null;
        var lon = coords ? coords.longitude : null;

        // Eğer koordinatlar yoksa hiçbir şey yapma
        if (!lat || !lon) return;

        // OpenStreetMap kimlikleri
        var osmPointId = claims.P11693 ? claims.P11693[0].mainsnak.datavalue.value : null;
        var osmWayId = claims.P10689 ? claims.P10689[0].mainsnak.datavalue.value : null;
        var osmRelationId = claims.P402 ? claims.P402[0].mainsnak.datavalue.value : null;

        // OpenStreetMap logosunu oluştur
        var osmLink = $('<a>')
            .attr('href', 'https://www.openstreetmap.org/query?lat=' + lat + '&lon=' + lon + '#map=19/' + lat + '/' + lon)
            .attr('target', '_blank') // Yeni sekmede aç
            .css({ marginLeft: '8px' }); // Başlıkla araya boşluk bırak

        var osmImage = $('<img>')
            .attr('src', 'https://upload.wikimedia.org/wikipedia/commons/b/b0/Openstreetmap_logo.svg')
            .attr('alt', 'OpenStreetMap')
            .css({ width: '20px', height: '20px', verticalAlign: 'middle' }); // Boyut ve hizalama

        osmLink.append(osmImage);
        $('#firstHeading').append(osmLink);

        // Küçük yazı stili ve arka plan rengi
        var smallStyle = { 
            fontSize: 'small', 
            marginLeft: '5px', 
            verticalAlign: 'middle', 
            backgroundColor: '#7cbd43', // OpenStreetMap logosunun ana rengi
            color: 'white', // Yazı rengi
            padding: '2px 5px', // İç boşluk
            borderRadius: '3px', // Köşeleri yuvarlama
            textDecoration: 'none' // Alt çizgiyi kaldır
        };

        // Nokta kimliği (P11693) bağlantısı
        if (osmPointId) {
            var pointLink = $('<a>')
                .attr('href', 'https://www.openstreetmap.org/node/' + osmPointId)
                .attr('target', '_blank')
                .text('node')
                .css(smallStyle);
            $('#firstHeading').append(pointLink);
        }

        // Way kimliği (P10689) bağlantısı
        if (osmWayId) {
            var wayLink = $('<a>')
                .attr('href', 'https://www.openstreetmap.org/way/' + osmWayId)
                .attr('target', '_blank')
                .text('way')
                .css(smallStyle);
            $('#firstHeading').append(wayLink);
        }

        // İlişki tanımlayıcı (P402) bağlantısı
        if (osmRelationId) {
            var relationLink = $('<a>')
                .attr('href', 'https://www.openstreetmap.org/relation/' + osmRelationId)
                .attr('target', '_blank')
                .text('relation')
                .css(smallStyle);
            $('#firstHeading').append(relationLink);
        }
    });
});
"https://tr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-OpenStreetMapBag.js&oldid=34587210" sayfasından alınmıştır
  • Sayfa en son 13.28, 5 Ocak 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
MediaWiki:Gadget-OpenStreetMapBag.js
Konu ekle