Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Isi otomatis negara dan kota dari kode pos, dan sebaliknya

*Ini sangat mudah yang perlu Anda lakukan hanyalah mendapatkan kode pos dari pengguna dan dengan itu Anda bisa mendapatkan $country dan $city menggunakan google api.ini saya berikan contohnya tentang bagaimana saya mendapatkan garis bujur dan garis lintang dari kode pos yaitu kode pos.

$postcode=$_POST('postcode');
                if($postcode)
                {

                    $address = urlencode($postcode);
                    $url='http://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&sensor=false';

                    $ch = curl_init(); 
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
                    curl_setopt($ch, CURLOPT_URL, $url);
                    $data = curl_exec($ch);
                    curl_close($ch);
                    $source = $data;
                    $obj = json_decode($source);
                    $lat = $obj->results[0]->geometry->location->lat;
                    $long = $obj->results[0]->geometry->location->lng;


                }
$longitude=$long;
$latitude=$lat;

daripada Anda dapat memasukkan dua variabel di atas $longitude dan $latitude dalam database Anda.sesederhana itu :) .buka tautan berikut https://developers.google.com/ peta/dokumentasi/geocoding/?csw=1

sekarang untuk mendapatkan nama negara dari garis bujur dan garis lintang gunakan geocoding terbalik. sediakan pasangan garis lintang/garis bujur yang dipisahkan koma di parameter latLng.

 var geocoder;
  var map;
  var infowindow = new google.maps.InfoWindow();
  var marker;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(40.730885,-73.997383);
    var mapOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
  }

  function codeLatLng() {
    var input = document.getElementById("latlng").value;
    var latlngStr = input.split(",",2);
    var lat = parseFloat(latlngStr[0]);
    var lng = parseFloat(latlngStr[1]);
    var latlng = new google.maps.LatLng(lat, lng);//here you will get your country and city name
    geocoder.geocode({'latLng': latlng}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        if (results[1]) {
          map.setZoom(11);
          marker = new google.maps.Marker({
              position: latlng,
              map: map
          });
          infowindow.setContent(results[1].formatted_address);
          infowindow.open(map, marker);
        }
      } else {
        alert("Geocoder failed due to: " + status);
      }
    });
  }

baca tentang reverse geocodng di sini dan ubah kode sesuai kebutuhan Anda https:// developer.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding

Gunakan :getLocations(latlng:GLatLng, callback:function)

Metode ini melakukan geocoding terbalik, konversi pasangan garis lintang/garis bujur menjadi alamat yang dapat dibaca manusia. getLocations() mengirimkan permintaan ke layanan geocoding Google, memintanya untuk mengembalikan alamat latlng yang diberikan dan meneruskan respons dalam callback yang diberikan.

Karena metode ini memerlukan panggilan ke server Google, Anda juga harus meneruskan metode panggilan balik untuk menangani respons. Tanggapan ini akan berisi kode Status, dan jika berhasil, satu atau beberapa objek Tanda Letak.

Perhatikan bahwa metode ini mungkin melewatkan String yang dapat dialamatkan, seperti yang ditunjukkan di atas; dalam hal ini, layanan akan melakukan geocode standar. Namun, jika argumen pertama berisi GLatLng, layanan akan melakukan geocode terbalik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saya ingin membuat halaman pencarian di mana saya ingin menampilkan data pencarian saya dari database dalam div?

  2. Masukkan data ke dalam tabel menggunakan php

  3. Praktik terbaik bulk_create untuk catatan besar

  4. dua kata dan spasi kosong tidak berfungsi dalam kueri MYSQL menggunakan LIKE

  5. Mysql Bandingkan dua bidang datetime