Mysql
 sql >> база данни >  >> RDS >> Mysql

Автоматично попълване на държава и град от пощенски код и обратното

*Това е много лесно, което трябва да направите, е просто да получите пощенския код от потребителя и с това можете да получите $country и $city с помощта на google api.тук ви давам пример за това как получавам дължина и ширина от пощенския код, т.е. пощенския код.

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

отколкото можете да вмъкнете горните две променливи $longitude и $latitude във вашата база данни.simple като това :) . отидете на следната връзка https://developers.google.com/ maps/documentation/geocoding/?csw=1

сега за получаване на името на държавата от географска дължина и географска ширина използвайте обратно геокодиране.доставете двойка ширина/дължина, разделена със запетая, в параметъра 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);
      }
    });
  }

прочетете за обратното геокодиране тук и променете кода според вашите нужди https:// developers.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding

Използвайте:getLocations(latlng:GLatLng, обратно извикване:функция)

Този метод извършва обратно геокодиране, преобразуване на двойка ширина/дължина в четими от човека адреси. getLocations() изпраща заявка до услугата за геокодиране на Google, като я моли да върне адреса за дадената ширина и да предаде отговора в даденото обратно извикване.

Тъй като този метод изисква извикване към сървър на Google, трябва също да предадете метод за обратно извикване, за да обработите отговора. Този отговор ще съдържа код на състоянието и, ако е успешен, един или повече обекта Placemark.

Обърнете внимание, че този метод може вместо това да предаде адресируем низ, както е посочено по-горе; в този случай услугата ще направи стандартен геокод. Ако обаче първият аргумент съдържа GLatLng, услугата ще извърши обратно геокодиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. вземете данни от mysql база данни за използване в javascript

  2. Проблем с размера на качване в PHP и MySql

  3. Опитвам се да създам статичен клас на база данни, до който имам достъп от всяка функция извън класа

  4. Подходящ модел на база данни за система за обратна връзка от потребители (интересен случай)

  5. Какъв е най-добрият начин за мигриране на Django DB от SQLite към MySQL?