Php dapatkan lokasi gps seluler

Saya telah mencari-cari di Google dan SO untuk mendapatkan lokasi GPS pengguna menggunakan ponsel dengan PHP. Namun, satu-satunya solusi yang saya temukan menggunakan Javascript, dan saya lebih suka tidak melakukan beberapa hal rumit menggunakan Javascript ketika saya bisa menambahkan beberapa kode PHP ke sistem saya yang sudah ada.

Pertanyaan saya sederhana. Bagaimana saya bisa mendapatkan lokasi GPS seseorang yang menjelajahi situs saya dengan PHP, bukan Javascript?

Selain itu
Jika saya harus menggunakan Javascript, bagaimana cara mengakses nilai dari PHP?

Solusi terbaik

Anda tidak bisa mendapatkan lokasi GPS menggunakan PHP

Anda dapat menggunakan GeoLocation untuk memperkirakannya (menggunakan alamat IP), tetapi ini terkenal tidak dapat diandalkan dan sebaiknya dihindari

Opsi lainnya adalah menggunakan API lokasi yang dibangun ke dalam HTML5. Saat mengunjungi situs Anda, mereka yang menggunakan perangkat seluler (atau browser) yang mumpuni akan ditanya apakah mereka ingin mengungkapkan lokasi mereka karena alasan fungsional, tetapi Anda tidak dapat memaksa pengguna untuk membocorkannya

function show_map(position) {
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
  // let's show a map or do something interesting!
}

Contoh panduan/ikhtisar yang layak dibaca ada di sini (yang mencakup contoh langsung tentang cara kerja penjelajahan berdasarkan lokasi)

Informasi lokasi adalah area yang sangat sensitif sehubungan dengan privasi sehingga produsen handset tidak mengizinkan pengungkapan otomatis informasi yang Anda cari

Sumber bacaan lebih lanjut

  • API geolokasi W3C
  • geoPosition. js, skrip pembungkus API geolokasi
  • Panduan Internet Explorer 9 untuk Pengembang.
  • Pertanyaan JADI. API Geolokasi Web di iPhone

Solusi Terkait

Php – Pencacahan pada PHP

Bergantung pada kasus penggunaan, saya biasanya menggunakan sesuatu yang sederhana seperti berikut ini

abstract class DaysOfWeek
{
    const Sunday = 0;
    const Monday = 1;
    // etc.
}

$today = DaysOfWeek::Sunday;
_

Namun, kasus penggunaan lain mungkin memerlukan lebih banyak validasi konstanta dan nilai. Berdasarkan komentar di bawah tentang refleksi, dan beberapa catatan lain, inilah contoh yang diperluas yang mungkin lebih baik melayani kasus yang lebih luas

abstract class BasicEnum {
    private static $constCacheArray = NULL;

    private static function getConstants() {
        if (self::$constCacheArray == NULL) {
            self::$constCacheArray = [];
        }
        $calledClass = get_called_class();
        if (!array_key_exists($calledClass, self::$constCacheArray)) {
            $reflect = new ReflectionClass($calledClass);
            self::$constCacheArray[$calledClass] = $reflect->getConstants();
        }
        return self::$constCacheArray[$calledClass];
    }

    public static function isValidName($name, $strict = false) {
        $constants = self::getConstants();

        if ($strict) {
            return array_key_exists($name, $constants);
        }

        $keys = array_map('strtolower', array_keys($constants));
        return in_array(strtolower($name), $keys);
    }

    public static function isValidValue($value, $strict = true) {
        $values = array_values(self::getConstants());
        return in_array($value, $values, $strict);
    }
}

Dengan membuat kelas enum sederhana yang memperluas BasicEnum, Anda sekarang memiliki kemampuan untuk menggunakan metode untuk validasi input sederhana

abstract class DaysOfWeek extends BasicEnum {
    const Sunday = 0;
    const Monday = 1;
    const Tuesday = 2;
    const Wednesday = 3;
    const Thursday = 4;
    const Friday = 5;
    const Saturday = 6;
}

DaysOfWeek::isValidName('Humpday');                  // false
DaysOfWeek::isValidName('Monday');                   // true
DaysOfWeek::isValidName('monday');                   // true
DaysOfWeek::isValidName('monday', $strict = true);   // false
DaysOfWeek::isValidName(0);                          // false

DaysOfWeek::isValidValue(0);                         // true
DaysOfWeek::isValidValue(5);                         // true
DaysOfWeek::isValidValue(7);                         // false
DaysOfWeek::isValidValue('Friday');                  // false

Sebagai catatan tambahan, setiap kali saya menggunakan refleksi setidaknya sekali pada kelas statis/const di mana data tidak akan berubah (seperti dalam enum), saya menyimpan hasil panggilan refleksi tersebut, karena menggunakan objek refleksi baru setiap kali

Sekarang kebanyakan orang akhirnya mengupgrade ke setidaknya 5. 3, dan SplEnum tersedia, yang tentu saja merupakan opsi yang layak juga - selama Anda tidak keberatan dengan gagasan yang secara tradisional tidak intuitif tentang memiliki instantiasi enum yang sebenarnya di seluruh basis kode Anda. Dalam contoh di atas, BasicEnum dan

abstract class DaysOfWeek
{
    const Sunday = 0;
    const Monday = 1;
    // etc.
}

$today = DaysOfWeek::Sunday;
0 tidak dapat dibuat instance-nya sama sekali, juga tidak seharusnya

Android – Cara mendapatkan lokasi GPS saat ini secara terprogram di Android

Saya telah membuat aplikasi kecil dengan deskripsi langkah demi langkah untuk mendapatkan koordinat GPS lokasi saat ini

Bagaimana cara mendapatkan koordinat GPS di php?

Contoh dijelaskan. .
Periksa apakah Geolokasi didukung
Jika didukung, jalankan metode getCurrentPosition(). .
Jika metode getCurrentPosition() berhasil, ia mengembalikan objek koordinat ke fungsi yang ditentukan dalam parameter (showPosition)
Fungsi showPosition() menampilkan Lintang dan Bujur

Bagaimana saya bisa mendapatkan koordinat GPS dari perangkat seluler saya?

Dapatkan koordinat suatu tempat .
Di ponsel atau tablet Android Anda, buka aplikasi Google Maps
Sentuh dan tahan area peta yang tidak berlabel untuk melepaskan pin merah
Di kotak pencarian, Anda dapat menemukan koordinatnya

Bagaimana cara mendapatkan lokasi perangkat di php?

php $query = @unserialize (file_get_contents('http. //ip-api. com/php/')); . $query['negara']. ', '. $query['kota']

Bagaimana cara mendapatkan alamat lokasi saat ini di php?

Untuk mendapatkan URL halaman saat ini, PHP menyediakan variabel superglobal $_SERVER . $_SERVER adalah variabel bawaan PHP, yang digunakan untuk mendapatkan URL halaman saat ini.