<?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; } } }
Kira jarak antara dua titik pada peta, menggunakan Peta Google
Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn
Artikel Berkaitan

27 Nov 2024
Mengira Jarak Antara Titik dalam Peta Google V3Dalam Peta Google V3, jarak antara dua penanda boleh dikira menggunakan Haversine...

17 Dec 2024
Mencipta Perpustakaan Statik yang Berpaut ke Perpustakaan Statik Lain Apabila membina perpustakaan statik yang bergantung pada kebergantungan daripada berbilang yang lain...

01 Nov 2024
Pengepala yang manakah dalam Perpustakaan Standard C Termasuk Lain-lain? Secara umumnya, pengaturcara tidak seharusnya menganggap bahawa satu pengepala perpustakaan standard C akan...

13 Dec 2024
Memautkan Perpustakaan Statik ke Perpustakaan Statik Lain: Pendekatan Komprehensif Perpustakaan statik menyediakan mekanisme yang mudah untuk membungkus yang boleh digunakan semula...

05 Aug 2025
Artikel ini bertujuan untuk membandingkan perbezaan prestasi dalam pelaksanaan pertanyaan MySQL menggunakan Perpustakaan MySQLI PHP dan Perintah Exec. Dengan menganalisis proses pelaksanaan kedua -dua kaedah, kelebihan Perpustakaan MySQLI berkaitan pemultipleksan, penggunaan sumber, dan lain -lain diturunkan, dan kepentingan secara langsung menggunakan perpustakaan lanjutan pangkalan data untuk operasi pangkalan data.

05 Sep 2025
Pergi secara asli menyokong pengekodan UTF-8 dan ASCII, tetapi untuk set aksara lain (seperti GBK, ISO-8859-1, dan lain-lain), Perpustakaan Standard tidak menyediakan kaedah string.getbytes (charset) langsung. Artikel ini akan memperkenalkan secara terperinci bagaimana menggunakan Perpustakaan Perpustakaan GO Official Golang.org/x/text/encoding untuk melaksanakan penukaran rentetan ke array set aksara yang ditentukan, dan menyediakan kod sampel dan langkah berjaga -jaga.


Alat panas

Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda

Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan

Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej
