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);
});
});
});
});