Maison Bibliothèques PHP Autres bibliothèques Calculer la distance entre deux points sur la carte classe PHP
Calculer la distance entre deux points sur la carte classe PHP
<?php
class GeoHelper
{
    /**
     * @param int $lat1
     * @param int $lon1
     * @param int $lat2
     * @param int $lon2
     * @param string $unit
     * @return
     */
    public static function distance($lat1, $lon1, $lat2, $lon2, $unit = "K")
    {
        $theta = $lon1 - $lon2;
        $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad
          ($lat2)) * cos(deg2rad($theta));
        $dist = acos($dist);
        $dist = rad2deg($dist);
        $miles = $dist * 60 * 1.1515;
        $unit = strtoupper($unit);
        if ($unit == "K") {
            return ($miles * 1.609344);
        } else
            if ($unit == "N") {
                return ($miles * 0.8684);
            } else { //mi
                return $miles;
            }
    }
    /**
     *
     * @param string $address
     * @param string $apikey
     * @return array [1]:lat [0]:lng
     */
    public static function getLatLng($address, $apikey)
    {
        $find = array("\n", "\r", " ");
        $replace = array("", "", "+");
        $address = str_replace($find, $replace, $address);
        $url = 'http://maps.google.com/maps/geo?q=' . $address . '&key=' . $apikey .
          '&sensor=false&output=xml&oe=utf8';
        $response = self::xml2array($url);
        $coordinates = $response['kml']['Response']['Placemark']['Point']['coordinates'];
        if (!empty($coordinates)) {
            $point_array = split(",", $coordinates);
            return $point_array;
        }
    }
}

Calculez la distance entre deux points sur la carte, à l'aide de Google Maps

Clause de non-responsabilité

Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn

Article connexe

Comment puis-je calculer la distance entre deux points de latitude/longitude dans SQL Server ? Comment puis-je calculer la distance entre deux points de latitude/longitude dans SQL Server ?

12 Jan 2025

Calcul de la distance entre deux points (latitude, longitude) à l'aide du type de données géographiquesPour déterminer la distance entre deux points géographiques...

Comment SQL Server peut-il calculer avec précision la distance entre deux points de latitude/longitude ? Comment SQL Server peut-il calculer avec précision la distance entre deux points de latitude/longitude ?

12 Jan 2025

Calcul de la distance entre deux points (Latitude, Longitude)Lors du calcul de la distance entre deux points sur une carte, il est essentiel d'avoir...

Comment puis-je calculer avec précision la distance entre deux points de latitude et de longitude ? Comment puis-je calculer avec précision la distance entre deux points de latitude et de longitude ?

03 Jan 2025

Calcul de la distance entre les latitudes et les longitudesLors du calcul de la distance entre deux géocoordonnées, il est essentiel d'assurer la précision...

Comment puis-je calculer avec précision la distance entre deux points de latitude/longitude dans SQL Server ? Comment puis-je calculer avec précision la distance entre deux points de latitude/longitude dans SQL Server ?

12 Jan 2025

Calcul de la distance entre deux points (Latitude, Longitude) : une approche plus préciseDans SQL Server, déterminer la distance entre deux...

Comment jQuery simplifie-t-il la manipulation du DOM pour les développeurs Web ? Comment jQuery simplifie-t-il la manipulation du DOM pour les développeurs Web ?

03 Jan 2025

Overflow : Hidden and Expansion of HeightjQuery se distingue des autres bibliothèques JavaScript par sa compatibilité multiplateforme et...

Comment ajouter des bibliothèques externes à mes projets Qt Creator ? Comment ajouter des bibliothèques externes à mes projets Qt Creator ?

29 Dec 2024

Ajout de bibliothèques externes aux projets Qt CreatorL'intégration de bibliothèques externes dans des projets Qt Creator vous permet d'exploiter des bibliothèques préexistantes...

See all articles