function OnInit(initData) { initData.name = 'GMapsAddress'; initData.version = '2023-11-28'; initData.url = 'https://resource.dopus.com/t/gmapsaddress-retrieve-addresses-from-google-maps/47209'; initData.desc = 'Retrieve addresses from Google Maps'; initData.default_enable = true; initData.min_version = '12.0'; } function OnAddColumns(addColData) { var col = addColData.AddColumn(); col.name = 'GMapsAddress'; col.method = 'OnColumn'; } function OnColumn(scriptColData) { scriptColData.value = 'N/A'; var item = scriptColData.item; if (item.is_dir) return; if (item.metadata != 'image') return; var lat = item.metadata.image.latitude; if (typeof (lat) != 'number') return; var lon = item.metadata.image.longitude; if (typeof (lon) != 'number') return; var apiKey = ''; var url = 'https://maps.googleapis.com/maps/api/geocode/json?latlng=' + lat + ',' + lon + '&key=' + apiKey; var xhr = new ActiveXObject('MSXML2.XMLHTTP'); xhr.open('GET', url, false); xhr.send(); if (xhr.readyState == 4 && xhr.status == 200) { // Uncomment to see what Google sends back // DOpus.Output(item); // DOpus.Output(xhr.responseText); // DOpus.Output('------------------------------'); var response = JSON.parse(xhr.responseText); if (response.results && response.results.length > 0) { scriptColData.value = response.results[0].formatted_address; } else { scriptColData.value = 'Address not found'; } } else { scriptColData.value = 'No connection'; } }