Demo –  Využití GPS

Po zadání adresy se zobrazí její GPS souřadnice a pomocí souřadnic je adresa zobrazena i na mapě. Pro získání souřadnic slouží validační callback.

 

Formulář s využitím GPS:

 
 

 

Zdrojový kód - JavaScript:


 <script src="https://api.mapy.cz/v1/mapy.js"></script>
 <script type="text/javascript">
    var smartform = smartform || {};
          
    smartform.beforeInit = function () {
       smartform.setClientId('[clientId]');
    }

    /* Set validation callback */
    smartform.afterInit = function() {
       smartform.getInstance().addressControl.addValidationCallback(validationCallback);
    }

    /* Validation callback to get address and GPS coordinates */
    function validationCallback(response) {
        if (response.result.type == smartform.AddressValidationResultType.HIT) {
                var address = response.result.addressArray[0];
                showAddress(address);
        }
    }

   /* Display address on map */
   function showAddress(address) {
        if( !address.COORD_WGS84_LATITUDE || !address.COORD_WGS84_LONGITUDE) {
                document.getElementById("gps").innerHTML = 'Pro tuto adresu nejsou GPS souřadnice k dispozici.';
        }  else {
                document.getElementById("gps").innerHTML = 'GPS souřadnice: ' + address.COORD_WGS84_LATITUDE + ', ' + address.COORD_WGS84_LONGITUDE;
                showOnMap(address.COORD_WGS84_LONGITUDE, address.COORD_WGS84_LATITUDE);
        }
   }

   function showOnMap(lonD, latD) { 
        // Logic to center and mark point on map
   }
</script>

Zdrojový kód - HTML pro formulář:

<form>
   <input class="smartform-address-street-and-number" id="smartform_ulice" placeholder="Ulice a číslo" required="" type="text" />
   <input class="smartform-address-city" id="smartform_obec" placeholder="Obec" required="" type="text" />
   <input class="smartform-address-zip" id="smartform_psc" placeholder="PSČ" required="" type="text" />
   <div id="gps"></div>
   <button onclick="smaz()">Ještě jednou</button>
</form>

Zdrojový kód - HTML pro mapu:

<div id="map" style="width:100%; height:400px"></div>