ခေတ်သစ်လူမှုလျှောက်လွှာများတွင်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေခြင်းသည်ဘုံနှင့်အရေးကြီးသောအင်္ဂါရပ်ဖြစ်လာသည်။ ချိန်းတွေ့ခြင်း, အကျိုးစီးပွားအုပ်စုများသို့မဟုတ်ဒေသဆိုင်ရာ 0 န်ဆောင်မှုဆိုင်ရာအကြံပြုချက်များသည်ဖြစ်စေဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။ ဤဆောင်းပါးသည်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်အပြည့်အဝဖြစ်စဉ်ကိုအောင်မြင်ရန်ရှေ့တန်းနည်းပညာနှင့်အတူ PHP ကိုရှေ့တန်းနည်းပညာဖြင့်အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပါမည်။
အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်သင်သည် is ည့်သည်၏ပထ 0 ီအနေအထားအရနေရာရရှိရန်လိုအပ်သည်။ HTML5 ၏ Geolocation API သည်လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်အချက်အလက်များကို browsers အများစုမှထောက်ပံ့ပြီးဖြစ်သည်။
positioninging function ကိုမခေါ်မီ browser သည် API ကိုထောက်ပံ့သည်ကိုဆုံးဖြတ်ရန်အကြံပြုပါသည်။
if (navigator.geolocation) {
// ပထဝီအနေအထားကိုပံ့ပိုးပါAPI
} else {
// 不ပထဝီအနေအထားကိုပံ့ပိုးပါAPI
}
အထောက်အပံ့ကိုအတည်ပြုပြီးပါက API ကို အသုံးပြု. အသုံးပြုသူတည်နေရာကိုရရှိရန်သင်ခေါ်ဆိုနိုင်သည်။
လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်အချက်အလက်များကိုအောက်ပါကုဒ်မှတဆင့်ရယူနိုင်ပါသည်။
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude; // လတီ္တတွဒ်
var longitude = position.coords.longitude; // လောင်ဂျီတွဒ်
// 发送经လတီ္တတွဒ်到后端处理
// sendLocationToServer(latitude, longitude);
});
အသုံးပြုသူတည်နေရာကိုရယူပြီးနောက်၎င်းကိုနောက်ဆက်တွဲမေးမြန်းချက်များအတွက်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းရန်လိုအပ်သည်။ MySQL ဒေတာဘေ့စ်ကိုစီမံခန့်ခွဲရန်အကြံပြုသည်။
ပထမ ဦး စွာ အသုံးပြုသူများ ဟုခေါ်သောစားပွဲတစ်ခုကိုဖန်တီးပါ။
CREATE DATABASE nearby;
USE nearby;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
latitude DOUBLE,
longitude DOUBLE
);
အောက်ဖော်ပြပါအချက်သည်အသုံးပြုသူတည်နေရာအချက်အလက်များကိုဒေတာဘေ့စ်ထဲသို့သိုလှောင်ထားသည့် PHP code signer တစ်ခုဖြစ်သည်။
<?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$conn = new PDO("mysql:host=localhost;dbname=nearby", "root", "");
// 获取经လတီ္တတွဒ်
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
// ဒေတာဘေ့စ်ကိုထည့်ပါ
$sql = "INSERT INTO users (latitude, longitude) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->execute([$latitude, $longitude]);
echo "တည်နေရာသတင်းအချက်အလက်ကိုအောင်မြင်စွာသိမ်းဆည်းထားသည်!";
?>
အသုံးပြုသူအမြောက်အများကိုသိုလှောင်ထားသည့်နေရာများကိုသိမ်းဆည်းထားပြီးသည်နှင့်ဝေးလံသောသုံးစွဲသူနှင့်နီးစပ်သောအခြားလူများသည်အကွာအဝေးကိုတွက်ချက်ခြင်းဖြင့်တွေ့နိုင်သည်။ အောက်ပါအကွာအဝေးနှစ်ခုအကွာအဝေးတွက်ချက်မှုနည်းလမ်းများမိတ်ဆက်နေကြသည်။
အဆိုပါ Euclidean အကွာအဝေးသည်ရိုးရှင်းသောမော်ဒယ်များအတွက်သင့်တော်ပြီးအောက်ပါအတိုင်းတွက်ချက်သည် -
distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)
သေးငယ်မြေပုံအချိုးအစားနှင့်အတူမြင်ကွင်းများအတွက်သင့်လျော်သော။
Highline ဖော်မြူလာသည်ကမ္ဘာ့မျက်နှာပြင်၏သွဒီနိတ်များကိုအကွာအဝေးတွက်ချက်မှုအတွက်ပိုမိုသင့်တော်သည်။
distance = 2 * r * asin(sqrt(
sin((lat2 - lat1) / 2)^2 +
cos(lat1) * cos(lat2) * sin((lng2 - lng1) / 2)^2
))
R သည်ကမ္ဘာမြေ၏အချင်းဝက်သည်များသောအားဖြင့် 6371 ကီလိုမီတာဖြစ်သည်။
အထက်ပါအဆင့်များမှတဆင့်အနီးအနားရှိလူများကိုရှာဖွေရန် PHP-based function ကိုအကောင်အထည်ဖော်နိုင်သည်။ Browser-side positioning မှ server-side storage မှ server-side storage လုပ်ရန်လုပ်ငန်းစဉ်တစ်ခုလုံးသည်လူမှုရေးပလက်ဖောင်းများ, အဖြစ်အပျက်အကြံပြုချက်များ, တည်နေရာ 0 န်ဆောင်မှုများစသည်တို့အတွက်အခြေအနေအမျိုးမျိုးအတွက်သင့်တော်သည်။