recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Coordonnées Baidu, renvoie les coordonnées proches de la cible

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

伊谢尔伦伊谢尔伦2774 Il y a quelques jours895

répondre à tous(1)je répondrai

  • 習慣沉默

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

    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.

    répondre
    0
  • Annulerrépondre