လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP သည်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်အပြည့်အဝဖြေရှင်းချက်ကိုအကောင်အထည်ဖော်ရန်အဖြေရှာသည်

PHP သည်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်အပြည့်အဝဖြေရှင်းချက်ကိုအကောင်အထည်ဖော်ရန်အဖြေရှာသည်

gitbox 2025-08-07

နိဒါန်း

ခေတ်သစ်လူမှုလျှောက်လွှာများတွင်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေခြင်းသည်ဘုံနှင့်အရေးကြီးသောအင်္ဂါရပ်ဖြစ်လာသည်။ ချိန်းတွေ့ခြင်း, အကျိုးစီးပွားအုပ်စုများသို့မဟုတ်ဒေသဆိုင်ရာ 0 န်ဆောင်မှုဆိုင်ရာအကြံပြုချက်များသည်ဖြစ်စေဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။ ဤဆောင်းပါးသည်အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်အပြည့်အဝဖြစ်စဉ်ကိုအောင်မြင်ရန်ရှေ့တန်းနည်းပညာနှင့်အတူ PHP ကိုရှေ့တန်းနည်းပညာဖြင့်အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပါမည်။

ပထဝီအနေအထားအရအချက်အလက်များကိုရယူပါ

အနီးအနားရှိအသုံးပြုသူများကိုရှာဖွေရန်သင်သည် is ည့်သည်၏ပထ 0 ီအနေအထားအရနေရာရရှိရန်လိုအပ်သည်။ HTML5 ၏ Geolocation API သည်လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်အချက်အလက်များကို browsers အများစုမှထောက်ပံ့ပြီးဖြစ်သည်။

browser ကို positioning ကိုထောက်ခံ / ရှိမရှိဆုံးဖြတ်ရန်

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 သည်ဒေတာဘေ့စ်သို့တည်နေရာအချက်အလက်ကိုရေးသည်

အောက်ဖော်ပြပါအချက်သည်အသုံးပြုသူတည်နေရာအချက်အလက်များကိုဒေတာဘေ့စ်ထဲသို့သိုလှောင်ထားသည့် 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 အကွာအဝေး algorithm

အဆိုပါ Euclidean အကွာအဝေးသည်ရိုးရှင်းသောမော်ဒယ်များအတွက်သင့်တော်ပြီးအောက်ပါအတိုင်းတွက်ချက်သည် -

 
distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)

သေးငယ်မြေပုံအချိုးအစားနှင့်အတူမြင်ကွင်းများအတွက်သင့်လျော်သော။

Haversine formula formula force အကွာအဝေးကိုတွက်ချက်သည်

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 န်ဆောင်မှုများစသည်တို့အတွက်အခြေအနေအမျိုးမျိုးအတွက်သင့်တော်သည်။