cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Koordinat Baidu, mengembalikan koordinat berhampiran sasaran

Kini terdapat jadual merekod koordinat pengguna (menggunakan API Baidu), dengan dua medan direkodkan, seperti koordinat (116.307852, 40.057031).

Sekarang apa yang perlu kita lakukan untuk mengetahui semua pengguna dalam jarak 1km dari pengguna ini?

Saya fikir saya boleh pergi terus:

select * 
from table
where x between 116.307852-1km and 116.307852+1km
and y between 40.057031-1km and 40.057031+1km

Saya tidak biasa dengan API koordinat, terima kasih kerana membantu saya melihat.

Cari jarak antara dua titik pada Peta Baidu

伊谢尔伦伊谢尔伦2814 hari yang lalu914

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-25 15:10:24

    Jika pangkalan data anda ialah MySQL 5.7, anda boleh menggunakan fungsi spatial: ST_Distance_Sphere() untuk mengira jarak terpendek (unit: meter) antara dua titik di bumi.
    adalah seperti berikut:

    SELECT ST_Distance_Sphere(POINT(lat,lng), POINT(116.307852,40.057031)) as distance
    FROM table 
    where distance < 1000

    MySQL versi 5.6 boleh menggunakan ST_Distance() untuk mengira jarak. Perlu diingat bahawa ia mengira jarak garis lurus antara dua titik koordinat 2 dimensi, dan hasilnya perlu didarab dengan 111195 (jejari bumi 6371000*PI/180) untuk menukar nilai kepada meter.

    balas
    0
  • Batalbalas