javascript - Coordonnées Baidu, renvoie les coordonnées proches de la cible
伊谢尔伦
伊谢尔伦 2017-05-25 15:08:24
0
1
858

Il existe désormais un tableau enregistrant les coordonnées de l'utilisateur (à l'aide de l'API Baidu), avec deux champs enregistrés, tels que les coordonnées (116.307852, 40.057031).

Maintenant, que devons-nous faire pour connaître tous les utilisateurs dans un rayon de 1 km autour de cet utilisateur ?

Je pensais pouvoir y aller directement :

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

Je ne connais pas l'API de coordonnées, merci de m'avoir aidé à y jeter un œil.

Trouvez la distance entre deux points sur la carte Baidu

伊谢尔伦
伊谢尔伦

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

répondre à tous(1)
習慣沉默

Si votre base de données est MySQL 5.7, vous pouvez utiliser la fonction spatiale : ST_Distance_Sphere() pour calculer la distance la plus courte (unité : mètres) entre deux points sur la terre.
Comme suit :

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

MySQL version 5.6 peut utiliser ST_Distance() pour calculer la distance. Il convient de noter qu'il calcule la distance en ligne droite entre deux points de coordonnées bidimensionnelles et que le résultat doit être multiplié par 111195 (rayon de la terre 6371000*PI/180) pour convertir la valeur en mètres.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal