javascript - Koordinat Baidu, mengembalikan koordinat berhampiran sasaran
伊谢尔伦
伊谢尔伦 2017-05-25 15:08:24
0
1
869

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(1)
習慣沉默

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan