document.addEventListener("DOMContentLoaded", function() { var mymap = L.map('mapid').setView([51.505, -0.09], 13); L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox', maxZoom: 18, id: 'mapbox/streets-v11', tileSize: 512, zoomOffset: -1, accessToken: 'pk.eyJ1IjoiZWR3YXJkZzAwMjAyMCIsImEiOiJjazljYmVmNmowMnQwM2VsdzE1dmY5c3B3In0.yw4KbyFI0H39VKeGxAfKhg' }).addTo(mymap); function parseMapSuggest(data) { document.querySelector('#pac-container .search_results').innerHTML = ''; var suggestions = data.suggestions; showElem(document.querySelectorAll('#pac-container .search_results')[0]); suggestions.forEach(suggestion => { var Shtml = (suggestion.address.houseNumber?suggestion.address.houseNumber + ' ':'') + (suggestion.address.street?suggestion.address.street + ' ': '') + suggestion.address.city + ', ' + (suggestion.address.state?suggestion.address.state:'' ) + ' ' + suggestion.address.country + (suggestion.address.postalCode?' ' + suggestion.address.postalCode:''); document.querySelectorAll('#pac-container .search_results ul')[0].innerHTML += '
  • ' + Shtml + '
  • '; }); document.querySelectorAll('#pac-container .search_results ul li').forEach(addr => { addr.addEventListener('click', function() { var json = JSON.parse(this.getAttribute('data-address')); document.querySelector('#pac-input').value = this.innerHTML; var keys = Object.keys(json); for (var j=0; j < keys.length;j++) { console.log(keys[j]); if (keys[j] === 'street') value = json.houseNumber + ' ' + json[keys[j]]; else value = json[keys[j]]; if (document.querySelectorAll('input[data-type="' + keys[j] + '"]').length > 0) document.querySelector('input[data-type="' + keys[j] + '"]').value = value; } document.querySelectorAll('#pac-container .search_results')[0].innerHTML = ''; hideElem(document.querySelectorAll('#pac-container .search_results')[0]); }); }); } waitForElm('#pac-input').then(el => { document.querySelector('#pac-input').addEventListener('keyup', function(ev) { ev.preventDefault(); ev.stopPropagation(); AjaxFunction({ url: 'https://autocomplete.geocoder.ls.hereapi.com/6.2/suggest.json?app_id=JJkhIpr1ijnT5hhnJWKY&apiKey=' + SETTINGS['hereapikey'] + '&query=' + this.value, crossDomain: true }, function(resp) { parseMapSuggest(resp); }); }); }); });