Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Automatyczne wypełnianie kraju i miasta z kodu pocztowego i odwrotnie

*To bardzo proste, wystarczy pobrać kod pocztowy od użytkownika, a dzięki temu możesz uzyskać $kraj i $miasto za pomocą Google API.Tutaj podam przykład jak otrzymuję długość i szerokość geograficzną z kodu pocztowego, tj. kodu pocztowego.

$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;

niż możesz wstawić powyższe dwie zmienne $longitude i $latitude do swojej bazy danych. Tak proste :) .przejdź do następującego linku https://developers.google.com/ mapy/dokumentacja/geokodowanie/?csw=1

teraz, aby uzyskać nazwę kraju z długości i szerokości geograficznej, użyj reverse geocoding.supply oddzieloną przecinkami parę szerokości i długości geograficznej w parametrze 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);
      }
    });
  }

przeczytaj o odwrotnym geokodowaniu tutaj i zmodyfikuj kod zgodnie ze swoimi potrzebami https:// developers.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding

Użyj :getLocations(latlng:GLatLng, callback:function)

Ta metoda wykonuje geokodowanie odwrotne, czyli konwersję pary szerokości i długości geograficznej na adresy czytelne dla człowieka. getLocations() wysyła żądanie do usługi geokodowania Google, prosząc ją o zwrócenie adresu dla danego latlng i przekazanie odpowiedzi w podanym wywołaniu zwrotnym.

Ponieważ ta metoda wymaga wywołania serwera Google, musisz również przekazać metodę wywołania zwrotnego, aby obsłużyć odpowiedź. Ta odpowiedź będzie zawierać kod stanu, a jeśli się powiedzie, co najmniej jeden obiekt oznaczenia miejsca.

Zauważ, że ta metoda może zamiast tego przekazać adresowalny String, jak wskazano powyżej; w takim przypadku usługa wykona standardowy geokod. Jeśli jednak pierwszy argument zawiera GLatLng, usługa wykona geokod odwrotny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyeksportować bazę danych SQL Server do MySQL?

  2. Jak mogę wyczyścić pamięć podczas uruchamiania długiego skryptu PHP? próbowałem unset()

  3. SQL Injection i klauzula LIMIT

  4. UTF-8:Ogólne? Kosz? Unikod?

  5. Najlepsze praktyki dotyczące przechowywania hasła do bazy danych