محمد مهدی کارگر
4 سال پیش توسط محمد مهدی کارگر مطرح شد
4 پاسخ

گرفتن لوکیشن کاربر با leaflet با وجود تحریم googleapis

سلام دوستان
چطور میشه تحریم googleapis.com رو هندل کرد.
من از Vue2Leaflet استفاده می کنم و توی لود کردن نقشه ها هیچ مشکلی نداره ، اما زمانی که می خوام لوکیشن رو از کاربر بگیرم ، میگه نمیتونه به googleapis.com وصل بشه:

Geolocation error: Network location provider at 'https://www.googleapis.com/' : No response received..

روش هایی که من برای گرفتن لوکیشن استفاده کردم و خب فقط با پروکسی جواب میده ، یکی این که با خود navigator.geolocation :

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(
                function (position) {
                    // set location here 
                },
                function (error) {
                    alert(error.message);
                }, {
                enableHighAccuracy: true
                , timeout: 5000
            }
            );
        } else {
            alert("Geolocation is not supported by this browser.");
        }

یکی هم با متدهای خود Vue2Leaflet که توی این لینک هست که اون هم نهایتا همینجوری داره لوکیشن رو میگیره.
البته خب مشخصه که این قضیه لوکیشن گرفتن ربطی به leaflet نداره و مستقیم داره با گوگل api کار میکنه.
ممنون میشم اگر با این مشکل روبرو شدید راهکارهاتون رو بشنوم.


ثبت پرسش جدید
محمد مهدی کارگر
تخصص : طراح و برنامه نویس
@unlocker 4 سال پیش آپدیت شد
1

طبق تحقیقی که من این چند روز انجام دادم گرفتن لوکیشن کاربر از طریق مرورگر کروم (سایر مروگرها به راحتی لوکیشن رو بهتون میدن)، فارق از این که قراره از چه پلتفرمی برای مپ استفاده کنید(googleMap , leaflet , openLyaer ,neshan , map.ir) ، بخاطر آپدیتی که اواخر انجام داده امکان پذیر نیست و سف و سخت تحریم هستیم و تنها با \\\ می تونید لوکیشن کاربر رو با کروم دریافت کنید، برای صحت این قضیه هم کافیه این [لینک] (https://www.w3schools.com/html/tryit.asp?filename=tryhtml5\\\_geolocation) رو با \\\ و بدون اون تست کنید ، البته حواستون به کش مرورگر باشه شما رو به اشتباه نندازه.
اما راه حل:
1- شما میتونید با ip لوکیشن کاربر رو برگردونید ، اما خب لوکیشن isp رو برمیگردونه پس زیاد جالب نیست.
2- از پکیج هایی مثل این [پکیج] (https://github.com/teamadlino/locations) که lat و lng شهرها و منطقه ها رو دارن میتونین استفاده کنین که بر اساس شهر و منطقه ای که کاربر انتخاب میکنه موقعیتش رو ست کنین در نهایت خود کاربر موقعیت دقیق ترش رو نشان گذاری کنه.


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 4 سال پیش مطرح شد
0

درود...
از نقشه نشان استفاده کنید که با چارچوب جاوا اسکریپت Leaflet سازگار است...
پیوند زیر:
https://developers.neshan.org/web-sdk/getting-started/


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
-2

درود

من هیچ وقت به اون صورت طرفدار استفاده از سرویس های داخلی نبودم (چون معمولا میشه همون سرویس رو با کیفیت بیشتر و قیمت کمتر از ارائه دهندگان خارجی دریافت کرد)

اما با توجه با این قطع و وصلی های اینترنت و تحریم های جدید که از طرف Google هم اعمال شده.. استفاده از سرویس های داخلی گزینه خیلی خوبیه


محمد مهدی کارگر
تخصص : طراح و برنامه نویس
@unlocker 4 سال پیش مطرح شد
1

@endworld متشکرم ، سرعت لود دایکیومنت هاش که خیلی بد بود امیدوارم سرویس های api اون این مشکلاتو نداشته باشه.
@ali.bayat دقیقا ، اما خب انگار چاره دیگه ای نیست. امیدوارم یه روز یه آزادی نسبی رو بتونیم تجربه کنیم


محمد مهدی کارگر
تخصص : طراح و برنامه نویس
@unlocker 4 سال پیش آپدیت شد
1

طبق تحقیقی که من این چند روز انجام دادم گرفتن لوکیشن کاربر از طریق مرورگر کروم (سایر مروگرها به راحتی لوکیشن رو بهتون میدن)، فارق از این که قراره از چه پلتفرمی برای مپ استفاده کنید(googleMap , leaflet , openLyaer ,neshan , map.ir) ، بخاطر آپدیتی که اواخر انجام داده امکان پذیر نیست و سف و سخت تحریم هستیم و تنها با \\\ می تونید لوکیشن کاربر رو با کروم دریافت کنید، برای صحت این قضیه هم کافیه این [لینک] (https://www.w3schools.com/html/tryit.asp?filename=tryhtml5\\\_geolocation) رو با \\\ و بدون اون تست کنید ، البته حواستون به کش مرورگر باشه شما رو به اشتباه نندازه.
اما راه حل:
1- شما میتونید با ip لوکیشن کاربر رو برگردونید ، اما خب لوکیشن isp رو برمیگردونه پس زیاد جالب نیست.
2- از پکیج هایی مثل این [پکیج] (https://github.com/teamadlino/locations) که lat و lng شهرها و منطقه ها رو دارن میتونین استفاده کنین که بر اساس شهر و منطقه ای که کاربر انتخاب میکنه موقعیتش رو ست کنین در نهایت خود کاربر موقعیت دقیق ترش رو نشان گذاری کنه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام