بیشتر اوقات پیش می آید که بخواهید مکان دقیق کاربر را در پروژه های تحت وب خود بدست آورید. در این آموزش آسان ترین راه برای مکان یابی در php را به شما نشان می دهیم. با استفاده از HTML5 و PHP ، شما به راحتی میتوانید کشور، استان ، شهر ، منطقه و .. را مکان یابی کنید
با کمک API Geolocation ، شما می توانید مکان جغرافیایی کاربران و بازدیدکنندگان را بدست آورید .بعد اینکه شما عرض و طول جغرافیایی کاربر را گرفتید ، به راحتی می توانید به صورت داینامیک مکان آن را از طریق API گوگل مپ مشخص کنید. با استفاده از کد اسکریپت ما ، به راحتی این قابلیت مکان یابی در php را به پروژه های خود کمتر از ۵ دقیقه اضافه کنید. ما از دو فایل index.html و getlocation.php برای مکان یابی جغیرافیایی بازدیدکنندگان استفاده می کنیم
فایل index.html
اول از همه ، ما عرض و طول جغرافیایی بازدیدکننده را توسط HTML5 Geolocation API پیدا میکنیم ، بعد از آن مکان جغرافیایی کاربر را از getlocation.php توسط Ajax بدست می آوریم. بعد اینکه پاسخ را از فایل getlocation.php دریافت کردیم ، مکان کاربر را در تگی با آی دی #location نمایش می دهیم.
جاواسکریپت :
متد getCurrentPosition() برای دریافت موقعیت کاربر استفاده می شود
متد showLocation() برای دریافت آدرس کاربر از getLocation.php توسط Ajax استفاده می شود
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<script src="jquery.min.js"></script> <script> $(document).ready(function(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showLocation); } else { $('#location').html('Geolocation is not supported by this browser.'); } }); function showLocation(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; $.ajax({ type:'POST', url:'getLocation.php', data:'latitude='+latitude+'&longitude='+longitude, success:function(msg){ if(msg){ $("#location").html(msg); }else{ $("#location").html('Not Available'); } } }); } </script>sc{ |
HTML :
مکان جغرافیایی کاربر در تگ span با آی دی location نمایش داده می شود.
1 |
<p>Your Location: <span id="location"></span></p> |
فایل getLocation.php
در این فایل ما آدرس را از طریق طول و عرض جغرافیایی توسط google maps بدست می آوریم . بعد پاسخ را به تابع success اجکس ارسال می کنیم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php if(!empty($_POST['latitude']) && !empty($_POST['longitude'])){ //Send request and receive json data by latitude and longitude $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($_POST['latitude']).','.trim($_POST['longitude']).'&sensor=false'; $json = @file_get_contents($url); $data = json_decode($json); $status = $data->status; if($status=="OK"){ //Get address from json data $location = $data->results[0]->formatted_address; }else{ $location = ''; } //Print address echo $location; } ?> |
امیدوارم از این آموزش “مکان یابی در php” کاربردی هم لذت برده باشید و در پروژه هایی که می نویسید استفاده کنید .
با سلام و خسته نباشید. یه سوال داشتم. چه جوری میتونم داخل سرچ باکس سایتم پارکینگ طبقاتی سرچ بزنم و تمامی پارکینگ های موجود در اون منطقه رو بیاره بالا؟
سلام. ممنون.
قبل از هر چیزی کویری sql رو داخل phpmyadmin تست و درست کنید و بعد داخل کد php استفاده کنید
سلام و وقت بخیر خدمت شما
یه سوال داشتم.
چجوری میشه مختصات همه کاربری های یه محدوده مثلا استان تهران رو به دست آورد.
مثلا مختصات همه ی بیمارستان ها-پمپ بنزین ها- فروشگاه ها-دانشگاه ها-مدارسو….
ممنون میشم راهنماییم کنین.
سلام ممنون
لطفا این آموزش را مطالعه بفرمایید :
https://netparadis.com/add-markers-to-show-locations-on-google-maps/