Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menambahkan Geolocation di PHP

Posted on May 18, 2024

Ingin membuat aplikasi Anda lebih menarik dan bermanfaat bagi pengguna? Menambahkan fitur Geolocation adalah solusinya!

Geolocation memungkinkan aplikasi Anda mengetahui lokasi pengguna berdasarkan alamat yang mereka masukkan. Dengan informasi ini, aplikasi Anda dapat:

  • Mencari layanan terdekat: Bantu pengguna menemukan restoran, bank, SPBU, atau layanan lain yang ada di sekitar mereka.
  • Menghitung jarak: Hitung jarak dari pengguna ke suatu lokasi, misalnya untuk aplikasi navigasi atau pemesanan transportasi online.
  • Menampilkan informasi lokal: Sesuaikan konten aplikasi dengan lokasi pengguna, seperti menampilkan berita atau promo yang relevan.

Selain itu, Geolocation juga bermanfaat untuk Anda sebagai developer:

  • Mematuhi peraturan: Membantu Anda memenuhi persyaratan tertentu yang mungkin berlaku di suatu wilayah terkait dengan data pengguna.
  • Menganalisa pengguna: Memahami demografi dan lokasi pengguna untuk pengembangan aplikasi selanjutnya.

Geolocation Gratis dengan PHP

Kabar baiknya, Anda bisa memanfaatkan fitur Geolocation secara gratis menggunakan API dari Cloudmersive. API ini memungkinkan Anda melakukan hingga 800 pencarian lokasi per bulan.

Apa yang kita butuhkan?

  1. API Key Cloudmersive: Daftar gratis di Cloudmersive untuk mendapatkan API key Anda.
  2. PHP Client: Instal library Cloudmersive di project Anda menggunakan Composer:
composer require cloudmersive/cloudmersive_validate_api_client

Mulai Menggunakan Geolocation dengan PHP

Setelah menyiapkan yang dibutuhkan, mari kita lihat contoh kode PHP untuk menggunakan API Geolocation:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Ganti 'YOUR_API_KEY' dengan API key Anda
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');

$apiInstance = new Swagger\Client\Api\AddressApi(
    
    
    new GuzzleHttp\Client(),
    $config
);

// Contoh format alamat yang akan dicari
$input = new \Swagger\Client\Model\ValidateAddressRequest();
$input->setStreetAddress("4695 Chabot Drive");
$input->setCity("Pleasanton");
$input->setStateOrProvince("California");
$input->setPostalCode("94588");
$input->setCountryFullName("United States");
$input->setCountryCode("string");

try {
    $result = $apiInstance->addressGeocode($input);
    // Hasil pencarian akan menampilkan:
    // - ValidAddress (true/false): Apakah alamat tersebut valid
    // - Latitude: Latitude lokasi
    // - Longitude: Longitude lokasi
    print_r($result);
} catch (Exception $e) {
    echo 'Error: ', $e->getMessage(), PHP_EOL;
}
?>

Penjelasan Kode:

  • Baris ke-3: Memuat library Cloudmersive yang sudah diinstal.
  • Baris ke-6 sampai 13: Mengatur konfigurasi API dengan memasukkan API key Anda.
  • Baris ke-16 sampai 22: Membuat objek untuk menyimpan informasi alamat yang akan dicari.
  • Baris ke-25: Memanggil fungsi addressGeocode dari API untuk melakukan pencarian lokasi.
  • Baris ke-27: Menampilkan hasil pencarian berupa informasi validitas alamat, latitude, dan longitude.
  • Baris ke-29 sampai 33: Menangkap error jika terjadi kesalahan saat proses pencarian.

Mulai Gunakan Geolocation Sekarang!

Dengan mengikuti langkah-langkah di atas dan sedikit modifikasi kode untuk menyesuaikan dengan kebutuhan aplikasi Anda, Anda bisa dengan mudah menambahkan fitur Geolocation dan meningkatkan pengalaman pengguna!

Terbaru

  • Running Windows 11 on Apple Silicon: UTM vs. Parallels Desktop vs. VMware Fusion
  • Testing PikaOS, a Rolling Debian Distribution Special for Gaming and Content Creation
  • Engineering the On-Premises AI Data Center: An In-Depth Technical Review of the HP ZGX Fury AI Station
  • Trying my new Favourite Task Manager, TMOG on Omarchy Linux
  • ASRock Industrial AI Box A395: Is This the Best Compact Strix Halo System for Local AI?
  • Redox OS: A Rust-Based Microkernel Operating System (And How It Differs from Linux)
  • Canonical Is Bringing Back Ubuntu Core Desktop — This Time With a Clearer Plan
  • systemd Officially Adds Support for Rust Components
  • Rocky Linux Creator Builds a Brand-New “Not Linux” Kernel in 11 Days Using AI
  • Building a local AI agent in Workshop on Ubuntu 26.10
  • Omarchy 4.5 RC: 5 New Apps That Actually Look Useful
  • Worth It! Switching from Fedora KDE to Kubuntu
  • I’m Happy Using ‘Herdr’, The Fastest Growing Devtool written in Rust
  • Testing Goose on Omarchy Linux (App & CLI): The Open-Source Solution for Daily Task Automation
  • GNOME Founder Attacks Omarchy Founder as “Lazy, Racist, Ignorant”
  • Why I Stopped Using Plain Command Line Docker and Use Portainer 3.0 To Make My Home Projects Fun Again
  • Why I Switched to a Proper Firewall Box with OPNSense for My Homelab Stuff
  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Stop Building AI Agents from Scratch: My Pick for the Best Native Windows Setup
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Some of New Gemini Notebook Update is CRAZY GOOD: Native Mobile Recording
  • Clover 35B A3B Local Test | Diffusion Model Beats Qwen 35B MoE? | Local AI Setup with llama.cpp
  • The no-code app implementation plan in 2026
  • Liquid AI Unveils LFM3: A New Generation of Multimodal Foundation Models Built Small Device
  • Google DeepMind Unveils Genie 4: The Most Advanced Real-Time Interactive World Model Yet
  • Kok bisa? Data ekspor sawit Indonesia ke Israel tetap jalan terus meski nggak ada hubungan diplomatik
  • Lagi rame foto Ohyul sama Ryul LNGSHOT pas di Berlin, ternyata ini tanggal aslinya biar nggak salah cari di Weverse
  • Lagi rame foto Ohyul sama Ryul LNGSHOT pas di Berlin, ternyata ini tanggal aslinya biar nggak salah cari di Weverse
  • Siapa Karisma Adys Safira? Profil Istri Axel Hadiningrat sing Lagi Rame Diomongke Warga
  • Alvin Tedjo menang jadi Wali Kota di Kanada, wong Indonesia kok iso dadi pemimpin kota gede?

©2026 emka.web.id | Design: Newspaperly WordPress Theme