最近的修车店24小时修车 (周边修车店)

深圳桑拿 04-16 阅读:46 评论:0

您可以在下面找到最近的 24 小时修车店列表。该列表基于您的当前位置,并按距离排序。

'XYZ 修车店','address' => '123 Main Street, Anytown, CA 12345','phone' => '(555) 123-4567','latitude' => 37.382238,'longitude' => -122.084065),array('name' => 'ABC 修车店','address' => '456 Elm Street, Anytown, CA 12345','phone' => '(555) 234-5678','latitude' => 37.382030,'longitude' => -122.078041),array('name' => 'DEF 修车店','address' => '789 Oak Street, Anytown, CA 12345','phone' => '(555) 345-6789','latitude' => 37.381893,'longitude' => -122.090235));// 根据距离对修车店列表排序usort($repair_shops, function($a, $b) {$a_distance = haversine_distance($latitude, $longitude, $a['latitude'], $a['longitude']);$b_distance = haversine_distance($latitude, $longitude, $b['latitude'], $b['longitude']);return $a_distance - $b_distance;});// 打印修车店列表echo '
    ';foreach ($repair_shops as $shop) {echo '
  • ';echo '

    ' . $shop['name'] . '

    ';echo '

    ' . $shop['address'] . '

    ';echo '

    ' . $shop['phone'] . '

    ';echo '

    距离:' . round(haversine_distance($latitude, $longitude, $shop['latitude'], $shop['longitude']), 2) . ' 千米

    ';echo '
  • ';}echo '
';// 计算两个坐标之间的距离(海威辛公式)function haversine_distance($lat1, $lon1, $lat2, $lon2) {$earth_radius = 6371; // 地球半径(千米)$lat1 = deg2rad($lat1);$lon1 = deg2rad($lon1);$lat2 = deg2rad($lat2);$lon2 = deg2rad($lon2);$delta_lat = $lat2 - $lat1;$delta_lon = $lon2 - $lon1;$a = sin($delta_lat / 2) sin($delta_lat / 2) + cos($lat1) cos($lat2) sin($delta_lon / 2) sin($delta_lon / 2);$c = 2 atan2(sqrt($a), sqrt(1 - $a));return $earth_radius $c;}?>

Copyright © 2021 修车店

版权声明

本文仅代表作者观点,不代表深圳桑拿立场。
本文系作者授权发表,未经许可,不得转载。