SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
        เป็น algorithm ที่ใช้ในการค้นหาพิกัดตำแหน่ง GPS ที่อยู่ในรัศมีที่เรากำหนด  เช่นจากตัวอย่าง code ข้างบน  บอกว่าให้ค้นหา  id ที่อยู่รอบๆ GPS  37,-122(latitude,longitude)  ในรัศมี 25 ไมล์  มาจำนวน 20 คน 
3959 คือ รัศมีของโลกมีหน่วยเป็นไมล์
ถ้าจะใช้หน่วยเป็นกิโลเมตรในการค้นหา  ให้เปลี่ยนเป็น 6371  
ช่วย อธิบาย แบบ ละเอียดกว่า นี้ ได้มั้ยอะคับ ถ้าผมจะทำ บน แอนดรอย อ่า
ตอบลบhttp://na5cent.blogspot.com/2012/12/get-users-on-user-around.html
ตอบลบ