• 07-08-2024, 09:33:43
    #1
    merhaba, google map apisini kullanarak ölçüm yaptığım bir sayfam var. (yani sayfaya girenlerin google map aracılığıyla evlerin çatısını işaretlemeleri gerekiyor)
    yaklaşık 1 senedir sorun yoktu ama 2 haftadır google türk iplerine 15x den fazla yakınlaştırmama yasağı getirmiş gibi bir durum var çünkü sadece türkiye sınırları içerisinde yakınlaştırma yaptığımda "gösterilecek birşey yok" hatası çıkıyor. vpn kullandığımda sorun düzeliyor.
    aslında sorun burda başlıyor. ben ziyaretçilerime vpn kullanma zorunluğu getiremem ve ziyaretçilerimin %90 ı türkiyeden geliyor.


    yardımlarınızı ve fikirlerinizi bekliyorum.

    not: https://www.google.com/maps de bile türkiye zaten hep bulanıktı. apilerde böyle bir kısıtlama yoktu yeni getirdiler sanırım.
  • 07-08-2024, 09:42:36
    #2
    Maps apisi hatırladığım kadarıyla js de src üzerinden ekliyorduk. Src kısmına direkt api linki yerine proxy eklemeyi deneyin veya sunucunuzun kendisi Türkiye de değilse kaynağı php ile çekip htmle öyle gömün.
  • 07-08-2024, 11:15:44
    #3
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    Maps apisi hatırladığım kadarıyla js de src üzerinden ekliyorduk. Src kısmına direkt api linki yerine proxy eklemeyi deneyin veya sunucunuzun kendisi Türkiye de değilse kaynağı php ile çekip htmle öyle gömün.
    hocam çok teşekkürler. verdiğin fikirleri deneyeceğim. ama proxy konusunda şöyle bir sıkıntı yaşıyorum anlık


    Alıntı
    <script>
    const proxyUrl = 'https://api.allorigins.win/get?url=';
    const apiUrl = 'https://maps.googleapis.com/maps/api/js?key=APİKEY&libraries=geometry&callback=initMap' ;

    fetch(proxyUrl + encodeURIComponent(apiUrl))
    .then(response => response.json())
    .then(data => {
    const script = document.createElement('script');
    script.textContent = data.contents;
    document.head.appendChild(script);
    })
    .catch(error => console.error('Error fetching the script:', error));

    </script>
    .

    bu şelilde çalışıyor. hatta haritanın dili inglizceye dönüyor ama yine zoom yapıldığında harita görüntülenmiyor. proxy url kısmına 10 larca farklı ip denedim bu sefer de hiç çalışmadı.

    https://api.allorigins.win/get?url=';
    bu proxyi chatgpt önerdi. çalışma sistemini bilmiyorum doğrusu.
  • 07-08-2024, 11:27:10
    #4
    Nonfold adlı üyeden alıntı: mesajı görüntüle
    hocam çok teşekkürler. verdiğin fikirleri deneyeceğim. ama proxy konusunda şöyle bir sıkıntı yaşıyorum anlık


    .

    bu şelilde çalışıyor. hatta haritanın dili inglizceye dönüyor ama yine zoom yapıldığında harita görüntülenmiyor. proxy url kısmına 10 larca farklı ip denedim bu sefer de hiç çalışmadı.

    https://api.allorigins.win/get?url=';
    bu proxyi chatgpt önerdi. çalışma sistemini bilmiyorum doğrusu.
    Başka fikrim yok maalesef.
  • 07-08-2024, 11:33:55
    #5
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    Başka fikrim yok maalesef.
    sunucunuzun kendisi Türkiye de değilse kaynağı php ile çekip htmle öyle gömün.
    demişsiniz. mantıken ne demek istediğinizi anladım ama çok fazla php bilgim yok. bu konuda yardımcı olacak bir makale yada yöntemin bir adı var mı? kurcalayayım.
  • 07-08-2024, 11:35:41
    #6
    Nonfold adlı üyeden alıntı: mesajı görüntüle
    sunucunuzun kendisi Türkiye de değilse kaynağı php ile çekip htmle öyle gömün.
    demişsiniz. mantıken ne demek istediğinizi anladım ama çok fazla php bilgim yok. bu konuda yardımcı olacak bir makale yada yöntemin bir adı var mı? kurcalayayım.
    <?php
        $apikey = 'api_keyi_girin';
        $url = 'https:maps.googleapis.com/maps/api/js?key=' . $apikey . '&callback=initMap';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($ch);
        curl_close($ch);
        header('Content-Type: application/javascript');
        echo $response;
    ?>
    Sonra bunu htmlde
    <script src="script.php"></script>
    şeklinde kullanın.
  • 07-08-2024, 11:53:47
    #7
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    <?php
        $apikey = 'api_keyi_girin';
        $url = 'https:maps.googleapis.com/maps/api/js?key=' . $apikey . '&callback=initMap';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($ch);
        curl_close($ch);
        header('Content-Type: application/javascript');
        echo $response;
    ?>
    Sonra bunu htmlde
    <script src="script.php"></script>
    şeklinde kullanın.
    çok teşekkürler hocam. kod çalışıyor ama gereğini yerine getirmiyor. yine zoom yapılınca hata alıyorum. server yurtdışında.

    cloudflare kullanıyorum. o bozuyor olabilir mi sizce?