Geolokatsiyani aloqa operatorining telefoniga ulash. Abonentning joylashuvi: Internet orqali va uning roziligisiz va uning roziligisiz telefon raqami orqali uning joylashgan joyini qanday aniqlash mumkin

Telefon raqami

Rossiya +7 Ukraina +380 Qozog'iston +7 Jazoir +213 Andorra +376 Angola +244 Anguilla +1264 Antigua&Barbuda +1268 Argentina +549 Armaniston +374 Aruba +297 Avstraliya +61 Avstriya +43 Ozarbayjon +994 Bagama +12472 Bahradesh 880 Barbados +1246 Belarusiya +375 Belgiya +32 Beliz +501 Benin +229 Bermuda +1441 Butan +975 Boliviya +591 Bosniya Gersegovina +387 Botsvana +267 Braziliya +55 Bruney +673 Bolgariya +359 Cambo22 855 Kamerun +237 Kabo-Verde orollari +238 Kayman orollari +1345 Markaziy Afrika Respublikasi +236 Chili +56 Xitoy +86 Kolumbiya +57 Mayotte +269 Kongo +242 Kuk orollari +682 Kosta-Rika +506 Xorvatiya +385 Kuba Shimoliy +53 Cy 90392 Kipr Janubiy +357 Chexiya +42 Daniya +45 Diego Garsiya +2463 Jibuti +253 Dominikan Respublikasi +1809 Dominikan Respublikasi +1829 Dominikan Respublikasi +1849 Ekvador +593 Misr +20 Eire +353 El Salvatrei2 291 España +34 Estoniya +372 Efiopiya +251 Folklend orollari +500 Farer orollari +298 Fiji +679 Finlyandiya +358 Fransiya +33 Fransuz Gvianasi +594 Fransuz Polineziyasi +689 Gabon +241 Gambiya +220 Gruziya +7880 Germaniya +39 Gibraltar +350 Gretsiya +30 Grenlandiya +299 Grenada +1473 Gvadelupa +590 Guam +671 Gvatemala +502 Gvineya +224 Gvineya - Bissau +245 Gayana +592 Gaiti +509 Gonduras +504 Gonkong +82 Hindiston +83 91 Indoneziya +62 Eron +98 Iroq +964 Isroil +972 Italiya +39 Kot-d'Ivuar +225 Yamayka +1876 Yaponiya +81 Iordaniya +962 Qozog'iston +7 Keniya +254 Kiribati +686 Koreya Shimoliy +850 Koreya Janubiy +82 Quvayt +965 Qirg'iziston +996 Laos +856 Latviya +371 Livan +961 Lesoto +266 Liberiya +231 Liviya +218 Lixtenshteyn +417 Litva +370 Lyuksemburg +352 Makao +853 Makedoniya +389 Madagaskar Malaysi +26 Malaysi +26 23 Malta +356 Marshall orollari +692 Martinika +596 Mavritaniya +222 Meksika +52 Mikroneziya +691 Moldova +373 Monako +377 Mo'g'uliston +976 Montserrat +1664 Marokash +212 Mozambik +258 Myanma +95 Namibik +26 Namibia +27 Namibia +31 Yangi Kaledoniya +687 Yangi Zelandiya +64 Nikaragua +505 Niger +227 Nigeriya +234 Niue +683 Norfolk orollari +672 Shimoliy Marianalar +670 Norvegiya +47 Ummon +968 Palau +680 Panama +507 Papua-Yangi Gvineya +559 Peru +51 Filippin +63 Polsha +48 Portugaliya +351 Puerto-Riko +1787 Qatar +974 Reunion +262 Ruminiya +40 Rossiya +7 Ruanda +250 San Marino +378 San-Tome va Prinsipi +239 Saudiya Arabistoni +966 Senegal +221 Yugoslaviya 381 Seyshel orollari +248 Syerra-Leone +232 Singapur +65 Slovakiya Respublikasi +421 Sloveniya +386 Solomon orollari +677 Somali +252 Janubiy Afrika +27 Shri-Lanka +94 St. Elena +290 St. Kitts +1869 St. Lusiya +1758 Sudan +249 Surinam +597 Svazilend +268 Shvetsiya +46 Shveytsariya +41 Suriya +963 Tayvan +886 Tailand +66 Togo +228 Tonga +676 Trinidad va Tobago +1868 Tunis +216 Turkmaniston va Turkmaniston +99 Orollar +1649 Tuvalu +688 AQSh +1 Ukraina +380 O'zbekiston +998 Uganda +256 Buyuk Britaniya +44 Birlashgan Arab Amirliklari +971 Urugvay +598 Vanuatu +678 Vatikan +379 Venesuela +58 Virjiniya orollari - AQSh +1340 Uollis va Futuna68 Yaman Shimoliy +969 Yaman Janubiy +967 Zair +243 Zambiya +260 Zimbabve +263



Joriy joylashuv



. Qurilmaning GSM moduli faoliyatining so'nggi nuqtalarini aniqlash orqali sun'iy yo'ldosh orqali telefonning joylashishini aniqlash.

Mobil telefonning GSM apparat moduli, SIM funksiyasini qo'llab-quvvatlaydigan har qanday boshqa mobil qurilma kabi, eng kuchli va barqaror signal manbai uchun doimiy qidiruv rejimida. Abonentning joylashuvi o‘zgarganda uning mobil qurilmasi eng yaqin uyali aloqa minorasiga ulanadi, bu esa eng barqaror va uzluksiz ulanish imkonini beradi. PLNET mobil qurilma lokatori telefonning xaritadagi joylashuvini bir necha metr aniqlik bilan aniqlaydi. Buning uchun siz faqat abonent raqamini ko'rsatishingiz va qidiruvni faollashtirishingiz kerak.

MuvofiqlikiPhoneAndroidSpeed

Telefon yoki SIM-kartani qo'llab-quvvatlaydigan boshqa mobil qurilmaning joylashuvini aniqlash uchun xalqaro formatda abonent raqamini ko'rsatish kifoya. PLNET bir necha daqiqa ichida joylashuvni aniqlaydi.

Boshidan oxirigacha avtonom

Endi telefonni topish uchun avvalo qurilmaning o'zida qo'shimcha ilovalarni o'rnatish va sozlash shart emas. Bundan tashqari, siz ushbu operatsiyani masofadan turib va ​​administrator huquqlarisiz bajarishingiz mumkin.

Hamma uchun mavjud

Bir kalendar oyiga obuna bo'lish orqali siz seanslar soni bo'yicha cheklovsiz bitta telefon raqamini topishingiz mumkin bo'ladi. PLNET ning oddiy interfeysi, kompyuter malakasi darajasidan qat'i nazar, har qanday foydalanuvchi uchun tushunarli.

Anonim va xavfsiz

Telefon egasi hech kim uning joylashuv ma'lumotlariga kirayotganini bilmaydi. PLNET mobil qurilma lokatori qurilma dasturiy ta'minoti bilan o'zaro ta'sir qilmaydi va uning ishlashi barqarorligiga hech qanday ta'sir ko'rsatmaydi.

24/7 global mijozlarni qo'llab-quvvatlash

Plnet o'zining har bir mijozini qadrlaydi va 24/7 mijozlarga xizmat ko'rsatishga katta e'tibor beradi.

95% mijozlar ehtiyojini qondirish

Mijozlarning qoniqishi mSpy uchun eng ustuvor vazifadir. Mijozlarning 95 foizi mamnun ekanliklarini va xizmatlarimizga qayta buyurtma berishga tayyor ekanliklarini aytishdi.

Telefon joylashuvi usuli
  • Moslik - PLNET-ning o'ziga xos xususiyati uning turli xil operatsion tizimlarda ishlaydigan barcha zamonaviy qurilmalar bilan universal muvofiqligi: iOS, Android, Windows Mobile, Symbian va Linux. Endi har bir aniq telefon uchun geoma'lumotlarni olishning yangi usulini izlashingiz shart emas. Mobil qurilma lokatori 90-yillardagi yangi tugmachali telefonlar emas, balki so'nggi iPhone smartfonlaridagi geolokatsiya ma'lumotlarini teng darajada muvaffaqiyatli namoyish etadi. PLNET mobil qurilmalari lokatori 100 dan ortiq mamlakatlardagi uyali aloqa operatorlari bilan teng darajada samarali hamkorlik qiladi.
  • Qurilma egasining roziligi yo'qligi - Bugungi kunda deyarli har bir elektron qurilma ishlab chiqaruvchisi o'rnatilgan geolokatsiya xususiyatini taklif qiladi. Apple uni Find Iphone deb ataydi. Androidda bu funksiya Masofadan boshqarish deb ataladi. Bundan tashqari, uyali aloqa operatorlari shunga o'xshash xizmatlarni taklif qiladilar: MTS Locator, Radar Megafon, Beeline.Locator, Kyivstar'dan Beacon va boshqalar. Ammo bu xizmatlarning barchasi asosiy kamchilikka ega - siz ularni qurilmaga kirmasdan faollashtira olmaysiz. PLNET, o'z navbatida, qurilma egasidan xabar yoki rozilikni talab qilmaydi.
  • Huquqiy jihat - Bizni foydalanuvchilarning PLNET-ga obuna bo'lish maqsadi qiziqtirmaydi va o'z navbatida maxfiy ma'lumotlarning to'liq daxlsizligini kafolatlaydi. Qabul qilingan barcha ma'lumotlar ikki faktorli shifrlash jarayonidan o'tadi va so'rovning manbasidan qat'i nazar, uchinchi shaxslarga o'tkazib bo'lmaydi.

Hali ham savollaringiz bormi? Biz ularga javob berishdan xursand bo'lamiz: Agar siz sharh qoldirmoqchi bo'lsangiz yoki biron bir taklif bildirmoqchi bo'lsangiz, buni bo'limda qilishingiz mumkin.

Haqiqiy vaqtda ob'ektning aniq joylashuvi haqida xabar beradigan ma'lumotlar geolokatsiya deb ataladi. Ob'ektning joylashishini aniqlashning amaliy qo'llanilishi keng tarqalgan, chunki simsiz aloqa xizmatlari tufayli bu jarayon aholining barcha qatlamlari uchun ochiq bo'ldi.

Geolokatsiya haqida umumiy ma'lumot

"Geolocation" atamasi ikki so'zdan iborat: yunoncha "geo" (er yuzasi) va inglizcha "joy" (joylashuv, joylashuv).

Ilgari, faqat ma'lum bir kasb vakillari sun'iy yo'ldosh orqali ob'ektni aniqlash qobiliyatidan foydalanganlar: uchuvchilar, dengizchilar va harbiylar.

Bugungi kunda geolokatsiyadan foydalanish juda keng tarqalgan. Uning yordami bilan odamlar:

  • o'zingizni notanish hududda topib, joylashuvingizni aniqlang;
  • qulay marshrutni yaratish;
  • yo'qolgan elektron qurilmalarni topish;
  • notanish shahardagi bog'lar, muzeylar, tashkilotlar, muassasalarni tezda toping;
  • tovarlar va posilkalarning harakatlanishini kuzatish;
  • fotosuratlar olingan joylarni belgilash uchun fotosuratlarning geolokatsiyasini kuzatib boring.

Geolokatsiyaning ishlashi uchun asosiy shartlar - bu elektron qurilmada maxsus dasturiy ta'minotning mavjudligi va uning Internetga ulanishi. Insonning joylashuvi qurilmadan chiqadigan radio signali bilan aniqlanadi. Signalni qayd etadigan kuzatuv stantsiyalari qanchalik ko'p bo'lsa, hudud xaritasida geolokatsiyani aniqlashda ob'ektning joylashuvi shunchalik aniq aniqlanadi.

IP joylashuv texnologiyasi

Zamonaviy texnologiyalardan foydalangan holda IP-manzil (Internet protokoli) bo'yicha ob'ektning joylashishini aniqlash qiyin emas. Ushbu ma'lumotlarni olgandan so'ng, telefoningiz yoki kompyuteringizning geolokatsiyasini aniqlash oson. Elektron qurilma foydalanuvchisi tarmoqqa kirganda, u keyingi harakatlarni amalga oshirish uchun uning manzilini tahlil qiladi. Bu avvalgi so'rovlarni taklif qilish uchun sayt sozlamalarini saqlashga yordam beradi.

Protokolning ikkita versiyasi mavjud: 4 ta raqam guruhidan iborat raqamga ega IPv 4 va 8 ta raqam va harf guruhiga ega IPv 6. Barcha IP manzillar noyob va takrorlanmaydi. Internetdagi uchinchi tomon ilovalari yoki xizmatlaridan foydalangan holda Internet protokoli yordamida odamning geopozitsiyasini bilib olishingiz mumkin. IP bo'yicha joylashuvni aniqlashning asosiy kamchiligi shundaki, tafsilot mamlakat yoki shahar bilan cheklangan va ma'lum bir ko'cha yoki uyni topish mumkin bo'lmaydi.

GPS yordamida geolokatsiya

Gadjet foydalanuvchilari uchun bu eng mashhur xususiyatdir, chunki GPS texnologiyasi smartfon va boshqa mobil qurilmalarda geolokatsiya ma’lumotlarini beradi. Navigatsiya sun'iy yo'ldoshlari tomonidan taqdim etilgan aniq ma'lumotlar aniqlanadi. Qoida tariqasida, smartfon signalni qabul qilish uchun mayoqlarni topadi va ulardan ma'lumot olib, uning joylashuvi haqida signal uzatadi. GPS ishlashi telefonning asosiy ekranida joylashgan geolokatsiya belgisi bilan ko'rsatiladi.

GPS yordamida joylashuvni aniqlashning asosiy afzalligi - natijaning yuqori aniqligi. Android-da o'rnatilgan geolokatsiya ba'zi kamchiliklarga ega:

  • metro, lift va boshqa binolarda sun'iy yo'ldosh bilan aloqaning tez-tez uzilishi;
  • past ma'lumotlarni qayta ishlash tezligi;
  • Ba'zan qo'shimcha ilovalarni o'rnatishingiz kerak bo'ladi.

Wi-Fi orqali geolokatsiya

Bu usul faqat Wi-Fi mavjud bo'lgan shahar sharoitida mumkin. Wi-Fi orqali geolokatsiya axborotni uzatish uchun radiokanallardan foydalanadi. Wi-Fi bino ichida 45 metrgacha va ochiq joylarda taxminan 90 metr radiusli barqaror Internetni ta'minlaydigan kirish nuqtasi (router) mavjudligini talab qiladi.

Ba'zi shaharlar butunlay bepul Wi-Fi tarmog'i bilan qoplangan - bu holda, geopozitsiya bir metrgacha bo'lgan aniqlik bilan aniqlanadi.

Usulning asosiy kamchiligi - Wi-Fi mavjud bo'lmagan joylarda ob'ektning joylashishini aniqlashning mumkin emasligi. Wi-Fi orqali geolokatsiyaning afzalliklari:

  • yuqori aniqlik va tezlik;
  • samaradorlik;
  • barcha sohalarda foydalanish imkoniyati.
Video

Geolokatsiya - GLONASS/GPS global navigatsiya sun'iy yo'ldosh tizimining radio signallaridan foydalangan holda, Wi-Fi ulanish nuqtalarining signal darajasidan foydalangan holda, uyali tarmoqdagi CellID uyali raqamidan foydalangan holda Internet foydalanuvchisining joylashishini (joyning kengligi va uzunligini) aniqlash; va kompyuterning IP manzilidan foydalanish.

Google-dan geolocation Foydalanuvchilarning joylashuvini aniqlash uchun zamonaviy brauzerlar navigator.geolocation ob'ekti ko'rinishida geolokatsiyani qo'llab-quvvatlaydi. Ushbu ob'ektda getCurrentPosition() va watchPosition() ikkita usul mavjud. Navigator.geolocation.getCurrentPosition() usulidan foydalanish misoli quyida keltirilgan.

/* Joriy koordinatalarni * Geolocation texnologiyasi (GNSS, WiFi, CellID, IP) va Yandex.API yordamida aniqlash */ getPosition() funksiyasi ( if(navigator.geolocation) ( navigator.geolocation.getCurrentPosition(// Joriy googleAPI ni aniqlashga urinish) koordinatalar , // Aks holda, Yandex.API yandexAPI yordamida shahar markazining koordinatalarini IP manzili bo'yicha aniqlaymiz, // Parametrlar ( enableHighAccuracy: true, // Yuqori aniqlik rejimini kutish vaqti: 27000, // Maksimal javob kutish vaqti (millisekundlarda) maksimalAge: 0 // Qabul qilingan ma'lumotlarning maksimal ishlash muddati ) ) else ( yandexAPI(); ) // 30 soniyadan keyin bir xil usulni chaqirish uchun taymerni o'rnating setTimeout("getPosition()", 30000) /* Koordinatalarni aniqlang Google.API yordamida */ googleAPI(pozitsiya) funksiyasi ( alert(position.coords.latitude+", "+position.coords.longitude); ) /* Yandex.API yordamida koordinatalarni aniqlash */ funksiya yandexAPI(xato) ( alert(ymaps) .geolocation+”, “+ymaps.geolocation.longitude ) Bu misolda joylashuv ma’lumotlari har 30 soniyada yangilanadi va har safar ma’lumotlar Google’dan so‘ralganda 27 soniya kutiladi.

Geolokatsiya operatsiyasining birinchi sinovi Internet-loyihada geolokatsiyadan foydalanganda darhol koordinatalarni aniqlashning to'g'riligi haqida savol tug'iladi. Biz hozir aynan shunday qilamiz. Buning uchun bir oz tajriba qilaylik. Buning uchun biz JavaScript-ni o'z ichiga olgan veb-sayt yaratamiz, u ikkita qurilmaning koordinatalarini aniqlash uchun berilgan chastotada so'rov o'tkazadi: birinchisi, WiFi adapteri yoqilgan, GPRS/3G modem orqali Internetga ulangan noutbuk, ikkinchisi, GSM uyali tarmoqlarida va/yoki GPRS/3G modem orqali Internetga ulangan WiFi ulanish nuqtalari orqali GPS qabul qiluvchisi o'chirilgan va navigatsiyani qo'llab-quvvatlash yoqilgan smartfon. Shunday qilib, biz navigatsiyaning to'g'riligini faqat WiFi ulanish nuqtalari yordamida va GSM uyali aloqa tarmog'idan olingan ma'lumotlarni hisobga olgan holda baholashimiz mumkin. Shunday qilib, keling, barcha qurilmalarni mashinaga joylashtiramiz va ularni Sankt-Peterburg yo'llari bo'ylab haydaymiz. Old yo'lovchi o'rindig'iga hamma narsa mos edi.

Guruch. 1. Eksperimental qurilmaning tashqi ko'rinishi

Marshrutning uzunligi 15 km ni tashkil etadi, u Sankt-Peterburgning Grajdankadagi turar-joylaridan boshlanib, Gidrometeorologiya universitetida Aleksandr Nevskiy Lavra ro'parasidagi qirg'oqda tugaydi. Har 30 soniyada ketma-ket joylashuvni o'lchash natijalari to'g'ri chiziqlar bilan bog'lanadi: ko'k - WiFi, qizil WiFi/GSM.


Guruch. 2. GSM uyali tarmoqlari va/yoki WiFi ulanish nuqtalarida geolokatsiyani tekshirish ma'lumotlari

Olingan ma'lumotlardan dastlabki xulosaga kelishimiz mumkinki, aniqlik juda qoniqarli, hech bo'lmaganda traektoriyadan og'ishlar 1000 metrdan oshmaydi. Ajabo, WiFi/GSM orqali geolokatsiyaning aniqligi WiFi-ga qaraganda yomonroq. Buni qizil traktorning bir tayanch stansiyadan ikkinchisiga sakrashidan yaqqol ko‘rish mumkin.
Biroq, aniqlikni aniqlash uchun GLONASS/GPS radio signallari asosida aniqlangan joylashuv ma'lumotlarining uchinchi manbasini jalb qilish kerak. Bunday holda, koordinatalar Google-dan geolokatsiyadan foydalanmasdan aniqlanishi kerak. Buning sababi, GLONASS/GPS qabul qiluvchisi va WiFi moduli yoqilgan holda navigator.geolocation.getCurrentPosition() usulidan foydalanish WiFi ulanish nuqtalari uchun geolokatsiyaning aniqligini oshiradi va shu bilan aniqlikni baholash natijalariga ta'sir qiladi (aniqlik har doim bo'ladi). biz hali bormagan joylarga qaraganda yaxshiroq).

Geolokatsiya

Geolocation veb-saytga tashrif buyuruvchilarning geografik joylashuvini aniqlash imkonini beradi. Va bu shunchaki tashrif buyuruvchi joylashgan mamlakat yoki hatto shaharni anglatmaydi. Geolokatsiya odamning joylashuvini shahar blokiga qisqartirishi yoki hatto smartfon orqali sahifaga kirgan bo‘lsa, uning aniq koordinatalarini aniqlashi mumkin.

Barcha asosiy brauzerlar yaxshi darajadagi geolokatsiyani qo'llab-quvvatlaydi:

Biz ilgari ko'rib chiqqan yangi JavaScript xususiyatlarining aksariyati asl HTML5 spetsifikatsiyasining bir qismi edi va keyinchalik spetsifikatsiya W3C tomonidan qabul qilinganda ajratildi. Ammo geolokatsiya hech qachon HTML5 ning bir qismi bo'lmagan, u bir vaqtning o'zida to'liq harakatga kelgan. Ammo deyarli hamma bu imkoniyatni HTML5 imkoniyatlari bilan birga kelajak texnologiyalarining katta to‘lqinining bir qismi sifatida ko‘radi.

Geolokatsiya qanday ishlaydi

Geolokatsiya imkoniyati odatda paranoid deb atash mumkin bo'lmagan odamlar orasida juda ko'p savollar tug'diradi. Masalan, xo'jayinimga aytganimdek kasal emasligimni, kafeda futbol tomosha qilayotganimni qandaydir dasturiy ta'minot qayerdan bilsin? Unda mening barcha harakatlarimni kuzatib boradigan qandaydir yashirin kod bormi? Qiziq, ko'chada o'sha furgon va g'ildirak almashtirmoqchi bo'lgan odamlar nima?

Yaxshiyamki, geolokatsiyani aniqlash qobiliyati kuzatuv haqidagi dahshatli voqealardan biri emas. Buning sababi, agar brauzer sizning joylashuvingizni aniqlay olsa ham, sizning ruxsatingizsiz uni veb-sayt bilan baham ko'rmaydi:

Veb-sahifa tashrif buyuruvchining joylashuvi haqidagi ma'lumotlarni olishni xohlaydi. Tashrifchi ushbu ma'lumotni taqdim etish yoki bermaslikni tanlashi mumkin. Chrome brauzerining bunday xatti-harakati uning tashabbusi emas, balki geolokatsiya standartining rasmiy qoidasi bo‘lib, u tashrif buyuruvchining joylashuvini aniqlashga urinayotgan har bir veb-sayt tashrif buyuruvchidan ruxsat olishi shart.

Mehmonning joylashuvini hisoblash uchun brauzer joylashuvni aniqlash provayderidan yordam so'raydi, masalan, Chrome uchun bu Google Joylashuv xizmatlari. Joylashuvni aniqlash oson ish emas va sotuvchi uni hal qilish uchun bir nechta turli yondashuvlardan foydalanadi.

Ruxsat etilgan (ya'ni, simsiz) ulanishga ega ish stoli kompyuterida usul oddiy, ammo juda aniq natijalarni bermaydi. Biror kishi Internetga ulanganda, uning kompyuteri yoki mahalliy tarmog'idagi ma'lumotlar (kabel, ijaraga olingan liniya yoki dial-up orqali) kuchli tarmoq apparat qurilmasiga yo'naltiriladi va bu o'z navbatida uni Internetga yo'naltiradi. Ushbu apparat qurilmasi noyob IP-manzilga ega, ya'ni. ushbu qurilmani tarmoqning boshqa ishtirokchilariga identifikatsiya qiluvchi raqamli kod. Ushbu qurilma jismoniy pochta manziliga ham ega.

Joylashuv provayderi veb-sahifaga tashrif buyuruvchining geografik joylashuvini aniqlash uchun ushbu ikki turdagi ma'lumotlardan foydalanadi. Birinchidan, ulanish amalga oshiriladigan qurilmaning IP-manzili hisoblab chiqiladi, so'ngra uning jismoniy manzili aniqlanadi. Tabiiyki, bunday bilvosita yondashuv foydalanuvchining emas, balki faqat uning Internet-provayderining aniq manzilini aniqlashga imkon beradi.

Biroq, ko'pincha bunday noto'g'ri natijalar ham foydalidir. Misol uchun, agar siz pizza sotiladigan do'konni topish uchun geolokatsiya vositasidan foydalansangiz, siz juda qiziq bo'lgan hududga - uyingiz yaqiniga - hatto yaqin atrofda bo'lmasangiz ham tezda harakat qilishingiz mumkin.

IP-manzil usuli geolokatsiyaning eng noaniq usuli hisoblanadi. Agar yaxshiroq ma'lumot manbai bo'lsa, joylashuv provayderi o'sha manbadan foydalanadi.

Agar tashrifchi simsiz ulanish orqali netbuk yoki smartfondan sahifaga kirsa, joylashuv provayderi eng yaqin simsiz ulanish nuqtalaridan foydalanadi. Ideal holda, joylashuv provayderi ushbu faol nuqtalarning aniq joylashuvini aniqlash uchun katta ma'lumotlar bazasidan ma'lumotlarni oladi va keyin tashrif buyuruvchining joylashuvini uchburchak qilish uchun ma'lumotdan foydalanadi.

Va mobil telefondan ulangan taqdirda, joylashuv provayderi shunga o'xshash triangulyatsiya usulidan foydalanadi, lekin turli xil mobil antennalarning signallaridan foydalanadi. Ushbu tez va nisbatan samarali protsedura odatda tashrif buyuruvchining joylashuvini 1 km ichida aniqlashi mumkin.

Va nihoyat, ko'plab mobil qurilmalar maxsus GPS (Global Positioning Service) apparati bilan jihozlangan, bu esa bunday qurilmalarning joylashishini bir necha metrlik aniqlik bilan aniqlash imkonini beradi. Ammo bu geolokatsiya usuli o'zining kamchiligiga ega - u sekinroq va ko'proq energiya sarflaydi, bu batareya bilan ishlaydigan qurilmalar uchun muhimdir. Bundan tashqari, binolardan signal aks etishi tufayli katta va baland binolari bo'lgan shaharlarda ayniqsa yaxshi ishlamaydi.

Albatta, joylashuvni aniqlashning boshqa usullari ham mumkin. Joylashuv provayderiga bu maqsadda boshqa ma'lumot manbalaridan, masalan, RFID (Radiochastotani identifikatsiyalash) qurilmalari ma'lumotlari, Bluetooth qurilmalari ma'lumotlari, Google Xaritalar kabi xaritalash saytidagi ma'lumotlarga ega cookie-fayllar va boshqalardan foydalanishga hech narsa to'sqinlik qilmaydi.

Bularning barchasidan quyidagi xulosaga kelishimiz mumkin: Internetga ulanish usulidan qat'i nazar, veb-saytga tashrif buyuruvchi ish stoli kompyuterida o'tirgan bo'lsa ham, geolokatsiya qilish qobiliyati uning joylashgan joyini ko'proq yoki kamroq aniqlik bilan aniqlash imkonini beradi. Va agar u GPS uskunasi bilan jihozlangan mobil telefon yoki qurilmadan Internetga kirsa, uning joylashuvi kamroq aniqlik bilan aniqlanishi mumkin.

Qaysi hududlarda geolokatsiyadan foydalanish mumkin?

Geolokatsiya qanday ishlaydi degan katta savolga javob berib, biz yana bir narsani aniqlashimiz kerak: bu bizga qanday foyda keltiradi?

Bu erda tushunish kerak bo'lgan asosiy jihat shundaki, geolokatsiya funksiyasi sahifaga tashrif buyuruvchining taxminiy geografik koordinatalarini aniqlash imkonini beradi. Va bu hammasi. Veb-ishlab chiquvchi ushbu oddiy, ammo muhim ma'lumotni tashrif buyuruvchining joylashuvi haqidagi batafsil ma'lumotlar bilan birlashtirishi kerak. Ushbu ma'lumotlarni veb-serverdan (odatda katta ma'lumotlar bazasi) yoki ba'zi geografik veb-xizmatlardan (masalan, Google Maps) olish mumkin.

Misol uchun, bir nechta joyda filiallari bo'lgan yirik biznes veb-sahifaga tashrif buyuruvchining joylashuvini uning turli bo'limlari joylashgan joylari bilan solishtirib, qaysi biri tashrif buyuruvchiga eng yaqin ekanligini aniqlashi kerak.

Ijtimoiy tarmoq vositasini ishlab chiquvchi esa foydalanuvchilar guruhining joylashuvi diagrammasini tuzib, ular orasidagi masofani ko‘rsatishi mumkin. Yoki joylashuv ma'lumotlari veb-saytga tashrif buyuruvchilarga eng yaqin 24 soatlik do'kon yoki kafeni aniqlash kabi xizmatni taqdim etish uchun ishlatilishi mumkin. Qanday bo'lmasin, veb-sahifaga tashrif buyuruvchining joylashuvi haqidagi ma'lumot faqat boshqa geografik ma'lumotlar bilan birgalikda muhimdir.

Boshqa kompaniyalar tomonidan taqdim etiladigan xaritalash va geografiya xizmatlari juda keng bo'lsa-da, biz ulardan biri - Google Xaritalar - biroz keyinroq ko'rib chiqamiz.

Tashrifchilarning koordinatalarini aniqlash

Geolokatsiya xususiyati juda oddiy. U navigator.geolocation obyektidagi uchta usuldan iborat: getCurrentPosition(), watchPosition() va clearWatch().

Navigator obyekti JavaScript-ning nisbatan kichik qismidir. Uning bir nechta xususiyatlari joriy brauzer va uning imkoniyatlari haqida ma'lumot beradi. Ulardan eng foydalisi navigator.userAgent xususiyati bo'lib, u brauzer, uning versiyasi va u ishlayotgan operatsion tizim haqida ma'lumotni o'z ichiga olgan ma'lumotlar qatorini taqdim etadi.

Mehmonning manzilini olish uchun usul chaqiriladi getCurrentPosition(). Ammo shuni tushunish kerakki, joylashuvni aniqlash jarayoni ma'lum vaqtni oladi, bu vaqt davomida o'zini o'zi hurmat qiladigan brauzer ushbu ma'lumotlarni kutayotganda sahifadagi barcha faoliyatni to'xtatmaydi. Shuning uchun getCurrentPosition() usuli asinxron tarzda bajariladi, ya'ni. ishga tushirilgandan so'ng, undan keyingi kod ishlashda davom etadi. Joylashuvni aniqlash tugagach, natijalarni qayta ishlash uchun boshqa kod qismi faollashadi.

Joylashuvni aniqlash tugallanganda, xuddi rasmni yuklab olish yoki matn faylini o‘qishda qabul qilingan bildirishnoma kabi bildirishnoma bilan birga kelishini kutishingiz mumkin. Ammo JavaScript-ni ketma-ketlikdan boshqa narsa deb atash mumkin. Va getCurrentPosition() usuli chaqirilganda, unga yakunlash funksiyasi uzatiladi.

Amalga oshirilganda, bu kod getCurrentPosition() usulini chaqiradi va unga funksiyani uzatadi. Brauzer joylashuvni aniqlash jarayonini tugatgandan so'ng, u xabar oynasini ko'rsatadigan ushbu funktsiyani faollashtiradi:

Shuni unutmangki, geolokatsiyadan foydalanishga faqat brauzer ushbu xususiyatni qo'llab-quvvatlasa va tashrif buyuruvchi undan foydalanishga ruxsat bergan taqdirdagina ruxsat etiladi. Ushbu xususiyatdan foydalanadigan sahifani amaliy foydalanish uchun uni veb-serverda joylashtirishdan oldin sinab ko'rish ham oqilona. Aks holda, muammolar paydo bo'lishi mumkin (masalan, geolokatsiya xatosi bilan ishlash ishlamaydi) va ba'zi brauzerlar foydalanuvchining manzilini umuman aniqlay olmaydi.

Taqdim etilgan joyning to'g'riligini aniqlash

Agar getCurrentPosition() usuli muvaffaqiyatli bo'lsa, kod ikkita xususiyatga ega bo'lgan joylashuv ob'ektini oladi: vaqt tamg'asi(geolokatsiyani bajarish vaqtini o'z ichiga oladi) va kordlar(geografik koordinatalarni o'z ichiga oladi).

Lekin koordinatlar xossasi, o'z navbatida, xususiyatlardan tashqari, joylashuv ob'ektining pastki ob'ekti hisoblanadi kenglik Va uzunlik, tashrif buyuruvchining geografik koordinatalarini aniqlaydigan, joylashuv haqida qo'shimcha ma'lumot beruvchi bir qancha boshqa xususiyatlarga ega. Bu kabi xususiyatlar balandlik(dengiz sathidan balandligi), sarlavha(harakat yo'nalishi) va tezlik(tezlik). Ammo hozirda bu xususiyatlar hech qanday brauzer tomonidan qo'llab-quvvatlanmaydi.

Mulk qiziqroq aniqlik, bu metrlarda ma'lum bir joyning aniqligini ko'rsatadi. (Bu shuni anglatadiki, joylashuv ma'lumotlarining aniqligi pasayganda, aniqlik xususiyatining qiymati oshadi, bu biroz chalkash bo'lishi mumkin.) Masalan, aniqlik xususiyati qiymati 2135 metr, foydalanuvchining joylashuvi shu masofada ekanligi aniqlanganligini anglatadi.

Aniqlik xususiyati geolokatsiya natijalari sifatini aniqlash uchun foydalidir. Masalan, agar aniqlik xususiyatining qiymati o'nlab kilometrlarda o'lchanadigan bo'lsa, geolokatsiya ma'lumotlari amaliy ahamiyatga ega bo'lishi dargumon:

Agar (position.coords.accuracy > 10000) ( alert("Tashrifchi xaritaning istalgan joyida bo'lishi mumkin"); )

Bunday holda, foydalanuvchini noaniq joylashuv ma'lumotlari to'g'risida xabardor qilish va/yoki foydalanuvchidan to'g'ri ma'lumotlarni o'zi kiritishni so'rash oqilona bo'lishi mumkin.

Qayta ishlashda xato

Agar tashrif buyuruvchi undan foydalanishga ruxsat bermasa, geolokatsiya funksiyasi ishlamaydi. Bunday holda, bizning misolimizdagi tugatish funktsiyasi chaqirilmaydi va sahifa brauzer hali ham joylashuvni aniqlashga harakat qilmoqdami yoki kodni bajarishda xatolik yuz berdimi, bilmaydi.

Ushbu muammoni hal qilish uchun getCurrentPosition() usulini chaqirganda, u bitta emas, balki ikkita funktsiyadan o'tishi kerak. Birinchi funktsiya, biz allaqachon muhokama qilganimizdek, agar geolokatsiya jarayoni muvaffaqiyatli yakunlangan bo'lsa, chaqiriladi. Aks holda, ikkinchi funktsiya chaqiriladi. Quyida ushbu ikkita funktsiyadan foydalanish misoli keltirilgan:

// Sahifada natija ko'rsatadigan elementni saqlang var natijasi; window.onload = function() (natija = document.getElementById("natija"); // Agar geolokatsiya funksiyasi mavjud bo'lsa, // tashrif buyuruvchining koordinatalarini aniqlashga harakat qiling, agar (navigator.geolocation) ( // Ikki funktsiyadan o'tish navigator.geolocation .getCurrentPosition( geolocationSuccess, geolocationFailure); // Natijani ko'rsatish.innerHTML = "Qidiruv boshlandi" ) else ( // Natijani ko'rsatish.innerHTML = "Brauzeringiz geolocationSuccess" funksiyasini qo'llab-quvvatlamaydi. position) ( result.innerHTML = " Sizni oxirgi marta bu yerda koʻrgansiz: " + position.coords.latitude + ", " + position.coords.longitude; ) funksiya geolocationFailure(positionError) ( result.innerHTML = "Geolocation xatosi"; )

Geolokatsiya xatosi funksiyasi chaqirilganda, brauzer unga ikkita xususiyatga ega bo'lgan xato ob'ektini uzatadi: kod(to'rtta xato turidan birini ko'rsatadigan raqamli kodni o'z ichiga oladi) va xabar(muammo haqida qisqacha xabarnoma mavjud). Odatda bildirishnoma sinov maqsadlarida va xato kodi muammoni qanday hal qilishni aniqlash uchun funksiya kodi tomonidan ishlatiladi.

Barcha mumkin bo'lgan xato kodlari qiymatlarini tekshiradigan o'zgartirilgan xato funktsiyasi quyidagicha ko'rinadi:

Function geolocationFailure(positionError) ( if(positionError == 1) ( result.innerHTML = "Siz joylashuv maʼlumotlaringizni taqdim qilmaslikka qaror qildingiz, " + "lekin bu muammo emas. Biz buni endi sizdan soʻramaymiz."; ) else if (positionError == 2) ( result.innerHTML = "Tarmoq bilan bog'liq muammolar mavjud yoki boshqa sabablarga ko'ra joylashuvni aniqlash xizmati bilan bog'lanib bo'lmaydi."; ) else if(positionError == 3) ( result.innerHTML = "U boshqardi " + "belgilangan vaqt ichida joylashuvini aniqlash uchun; ) else ( result.innerHTML = "Sirli xato."; ) )

Geografik joylashuv parametrlarini o'rnatish

Hozirgacha biz getCurrentPosition() usulini ikkita parametr bilan qanday chaqirish mumkinligini ko‘rib chiqdik: geolokatsiyaning muvaffaqiyatini boshqarish funksiyasi va urinishda xatoni bartaraf etish funksiyasi. Ammo bu usuldan yana bitta parametrdan o'tish mumkin, ya'ni ma'lum geolokatsiya parametrlarini o'rnatadigan ob'ekt.

Hozirgi vaqtda siz uchta parametrni o'rnatishingiz mumkin, ularning har biri geolokatsiya parametrlari ob'ektining boshqa xususiyatiga mos keladi. Quyidagi misol bitta enableHighAccuracy parametrini o'rnatadi:

Navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure, (enableHighAccuracy: true));

Va bu misolda barcha uchta parametr o'rnatilgan:

Navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure, (enableHighAccuracy: rost, kutish vaqti: 10000, maksimalYosh: 60000));

Ushbu ikkala misolda geolokatsiya parametrlari JavaScript ob'ekt harflari yordamida o'rnatiladi.

Bu xususiyatlar nimani anglatadi? EnableHighAccuracy xususiyati GPS yordamida joylashuvni aniq aniqlash imkonini beradi (agar qurilma ushbu xususiyatni qo‘llab-quvvatlasa va tashrif buyuruvchi undan foydalanishga ruxsat bergan bo‘lsa). Agar sizga aniq koordinatalar kerak bo'lmasa, ushbu parametrni o'rnatmang, chunki uning ishlatilishi brauzer qurilmasining batareya sarfini sezilarli darajada oshiradi. Odatiy bo'lib, enableHighAccuracy xususiyati "false" ga o'rnatiladi.

Vaqt tugashi xususiyati urinishni muvaffaqiyatsiz deb hisoblashdan oldin sahifa geolokatsiya ma'lumotlarini olish uchun kutish vaqtini belgilaydi.

Vaqt tugashi qiymatlari millisekundlarda o'rnatiladi, ya'ni. 10 000 ms maksimal kutish 10 soniyani bildiradi. Ortga hisoblash foydalanuvchi geolokatsiya ma'lumotlarini taqdim etishga rozi bo'lganidan keyin boshlanadi. Odatiy bo'lib, vaqt tugashi xususiyati 0 ga o'rnatiladi, ya'ni sahifa vaqt tugashi xatosini qo'zg'atmasdan geolokatsiya natijalarini cheksiz kutadi.

MaksimumAge xususiyati joylashuv ma'lumotlarini keshlash imkonini beradi. Misol uchun, maksimalAge qiymati 60 000 ms bir daqiqa oldin olingan geolokatsiya ma'lumotlaridan foydalanishga imkon beradi. Bu vaqt va hisoblash resurslarini tejaydi, shuningdek, agar mehmon harakatlansa, geolokatsiya natijalari kamroq aniq bo'lishini anglatadi. Odatiy bo'lib, maksimalAge xususiyati 0 ga o'rnatiladi, ya'ni keshlangan geolokatsiya natijalari hech qachon ishlatilmaydi. Mulkga cheksizlikning maxsus qiymati ham berilishi mumkin, bu holda istalgan vaqt oldingi keshlangan geolokatsiya ma'lumotlaridan foydalaniladi.

Xaritani ko'rsatish

Veb-saytga tashrif buyuruvchining joylashuvining geografik koordinatalarini aniqlash, albatta, qiziqarli hiyla. Ammo agar biz ushbu ma'lumotni foydali maqsadlarda ishlatmasak, u tezda o'z jozibasini yo'qotadi. Bunday bo'lmaydi, chunki ... Internetda ko'plab geografik joylashuv ma'lumotlari mavjud. (Ko'pincha muammo bu ma'lumotni veb-ilova uchun foydali formatga aylantirishdir.)

Bundan tashqari, bir nechta xaritalash xizmatlari mavjud bo'lib, ularning shubhasiz etakchisi Google Maps hisoblanadi. Ushbu xizmatdan foydalanishning ishonchli hisob-kitoblari shuni ko'rsatadiki, Google Xaritalar har qanday maqsadda eng ko'p ishlatiladigan veb-ilovadir.

Google Maps-dan foydalanib, siz dunyoning istalgan nuqtasining istalgan o'lchamdagi xaritasini yaratishingiz mumkin. Siz tashrif buyuruvchilarning ushbu xarita bilan qanday munosabatda bo'lishini boshqarishingiz, bir nuqtadan boshqasiga borish uchun marshrutlarni yaratishingiz va eng foydalisi, ma'lumotlaringizni ushbu xaritada joylashtirishingiz mumkin.

Google Xaritalar o'z xizmatlarini bepul taqdim etadi (hatto tijorat saytlari uchun), saytga bepul kirish sharti bilan. (Pulli saytlar uchun Google pullik xaritalash xizmatini taqdim etadi.) Google Xaritalar hozirda oʻz xizmatlaridan foydalanadigan saytlarga oʻz reklamasini joylashtirmaydi, lekin litsenziya shartlari kelajakda buni amalga oshirish huquqiga aniq ruxsat beradi.

Quyidagi rasmda geolokatsiya sahifasining o'zgartirilgan versiyasi ko'rsatilgan. Bu erda foydalanuvchining olingan geografik koordinatalari uning joylashuvini xaritada ko'rsatish uchun ishlatiladi:

Bunday sahifani yaratish qiyin emas. Bizga kerak bo'lgan birinchi narsa - Google Maps API skriptlariga havola. Ushbu havola xaritalash funksiyasidan foydalanadigan barcha skript bloklari oldida joylashtiriladi:

Geolokatsiya...

Qayerda yashaysiz?

Xaritaning o'lchamini uslublar jadvali qoidasi yordamida aniqlash mumkin:

#mapSurface (kengligi: 600px; balandlik: 400px; hoshiya: qattiq 1px qora; )

Endi siz Google Xaritalar tomonidan taqdim etilgan funksiyadan foydalanishga tayyorsiz. Birinchi qadam xarita yuzasini yaratishdir. Ushbu misolda xarita sahifa yuklanganda yaratilgan bo'lib, u geolokatsiya muvaffaqiyati yoki xato funksiyalarida ishlatilishi mumkin. (Oxir oqibat, geolokatsiya xatosi sahifa foydalanuvchining joriy manzilini aniqlay olmasligini bildiradi. Bunday holda, xaritani ko'rsatish baribir mantiqiy bo'ladi, lekin uni faqat standart koordinatalar atrofida markazlashtiring.)

Var natijalari; var xaritasi; window.onload = function() ( natija = document.getElementById("natija"); // Ba'zi xarita parametrlarini o'rnating. Ushbu misol // boshlang'ich masshtab darajasi va xarita turini o'rnatadi. // Boshqa parametrlar uchun Google Xaritalar hujjatlariga qarang. var myOptions = ( zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP ); // Yuqoridagi parametrlar yordamida xarita yarating map = new google.maps.Map(document.getElementById("mapSurface"), myOptions ) ; // Agar (navigator.geolocation) ( navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure); result.innerHTML = "Qidiruv tugallandi"; ) else ( result.innerHTML = "Brauzeringiz geolokatsiyani qo'llab-quvvatlamaydi, agar foydalanuvchi joylashuvini aniqlashga harakat qilyapsiz. "; goToDefaultLocation();

Ammo bu kod tomonidan yaratilgan xarita hali sahifada ko'rsatilmagan, chunki Geografik joylashuvi hali aniqlanmagan. Buning uchun siz LatLng ob'ekti yordamida ma'lum bir global nuqta yaratishingiz kerak, so'ngra usul yordamida xaritaga joylashtiriladi. setCenter() kartalar. Quyida tashrif buyuruvchining koordinatalari uchun bularning barchasini bajaradigan kod mavjud:

Funktsiya geolocationSuccess(position) ( // Joylashuvni LatLng obyektiga o'zgartiring var location = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); // Ushbu nuqtani xaritada ko'rsatish.setCenter( Manzil); )

Ushbu kod yuqoridagi rasmda ko'rsatilgandek xaritani ko'rsatish uchun etarli bo'ladi. Ammo siz ushbu asosiy xaritaga turli xil gadjetlarni qo'shishingiz mumkin, masalan, boshqa joylarni kiritish yoki qalqib chiquvchi ma'lumot oynasida ko'rsatish. Ikkinchisi infoWindow obyekti yordamida yaratilgan. Quyida qalqib chiquvchi ma'lumot oynasini yaratish va ko'rsatish uchun kod (yuqoridagi rasm kabi):

Funktsiya geolocationSuccess(position) ( ... // Qalqib chiquvchi ma'lumot oynasini yarating va // uning matni va xaritadagi o'rnini o'rnating. var infowindow = new google.maps.InfoWindow(); infowindow.setContent("Siz qayerdadirsiz bu sohada."); infowindow.setPosition(joylashuv); // Qalqib chiquvchi oynani ko'rsatish infowindow.open(map); results.innerHTML = "Joylashuv xaritada belgilangan."; )

Nihoyat, geolokatsiya xatosi yoki tashrif buyuruvchi brauzerida qo'llab-quvvatlanmasa, siz deyarli bir xil amallarni bajarishingiz mumkin, lekin tashrif buyuruvchining koordinatalari o'rniga muqobil oldindan o'rnatilgan koordinatalardan foydalaning:

Function geolocationFailure(positionError) ( ... goToDefaultLocation(); ) function goToDefaultLocation() ( // Moskva markazining taxminiy koordinatalari var moskva = new google.maps.LatLng(55.753878,37.649275); map.setCenter(moscow); )

Mehmonlarning harakatlarini kuzatish

Biz hozirgacha koʻrib chiqqan barcha misollarda geolokatsiyaning asosiy funksiyasi boʻlgan getCurrentPosition() usulidan foydalandik. Ammo geolokatsiya ob'ektida tashrif buyuruvchilarning harakatlarini kuzatish va bu harakatlar haqida sahifani xabardor qilish imkonini beruvchi yana ikkita usul mavjud.

Ushbu usullardan birinchisi getCurrentPosition() usuliga juda o'xshash watchPosition() usulidir. getCurrentPosition() usuli singari watchPosition() usuli ham parametrlarni oladi: muvaffaqiyat funksiyasi (yagona talab qilinadigan parametr) va xato funksiyasi:

Navigator.geolocation.watchPosition(geolocationSuccess, geolocationFailure);

Bu ikki usul orasidagi farq shundaki, watchPosition() usuli muvaffaqiyat funksiyasini bir necha marta ishga tushirishi mumkin - birinchi marta joylashuvni aniqlash uchun, keyin esa har safar yangi joyni aniqlaganda. Hech qachon harakatlanmaydigan ish stoli kompyuterlari uchun getCurrentPosition() va watchPosition() usullari aynan bir xil taʼsirga ega.

Ammo getCurrentPosition() usulidan farqli ravishda watchPosition() usuli raqamni qaytaradi. Bu raqam saqlanishi va harakatlarni kuzatishni to'xtatish uchun clearWatch() usuliga o'tkazilishi mumkin:

Var watch = navigator.geolocation.watchPosition(geolocationSuccess, geolocationFailure); ... navigator.geolocation.clearWatch(tomosha);

Siz ushbu bosqichni o'tkazib yuborishingiz va tashrif buyuruvchi sahifani tark etmaguncha navigatsiya xabarlarini olishni davom ettirishingiz mumkin.