Как вытащить данные из Google Адресов в листы Google
Я очень начинающий программист, поэтому, пожалуйста, будьте осторожны.
То, что я пытаюсь сделать, это получить местоположения formatted_phone_number и веб-сайт из карт / мест Google на основе координат, экспортированных из карт Google. Файл KML, экспортированный из карт Google, содержит только название местоположения, а также его широту и долготу.
Я имею в виду API Google Адресов - Сведения о месте. Вот Лист с координатами ресторанов, которые я хочу получить, номера телефонов и сайт. Этот список затем будет импортирован в Insightly в виде CSV-файла.
Я нашел этот скрипт Google листов, чтобы получить адрес, основанный на геокоде, который работает:
var geocoder = Maps.newGeocoder(),
cache = CacheService.getScriptCache();
function reverseGeocodeLatLngTest() {
Logger.log(reverseGeocodeLatLng(51.70055389, 5.318333149));
}
function reverseGeocodeLatLng(latitude, longitude) {
// var latitude = 51.69048,
// longitude = 5.29362,
var cacheKey = latitude + "+" + longitude,
cached = cache.get(cacheKey);
if(cached !== null) {
return JSON.parse(cached);
}
Utilities.sleep(2000);
var result = geocoder.reverseGeocode(latitude, longitude),
//First response is the most specific
response = result.results[0];
if(response === undefined) {
return "??";
}
function g(fieldName) {
for (var i = 0; i < response.address_components.length; i++) {
if(response.address_components[i].types.indexOf(fieldName) != -1) {
return response.address_components[i];
}
}
return {"long_name": "??"};
}
rValue = [[g("route").long_name, g("street_number").long_name, g("postal_code").long_name, g("locality").long_name, g('country').long_name, g('website').long_name]];
cache.put(cacheKey, JSON.stringify(rValue));
return rValue;
}
Я полагаю, что сценарий должен быть примерно таким, чтобы получить информацию о месте каждого места.
Спасибо за любую помощь.
0 ответов
Я просто собрал что-то именно для этой цели - добавив номер телефона в список, где у меня было название компании и адрес.
Вам понадобится ключ API Google. Это бесплатно, просто занимает пару минут, чтобы настроить.
Надеюсь это поможет!
function phoneLookup(place, city, state) {
var API_KEY = YOUR_API_KEY;
var url = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=' +
place + ' ' + city + ' ' + state + '&key=' + API_KEY;
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
obj = JSON.parse(json);
placeId = obj.results[0].place_id;
var url = 'https://maps.googleapis.com/maps/api/place/details/json?' +
'placeid='+ placeId + '&fields=name,formatted_phone_number,website&key=' +
API_KEY;
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
obj2 = JSON.parse(json);
phoneNo = obj2.result.formatted_phone_number;
web = obj2.result.website;
phoneAndWeb = phoneNo + ', ' + web
return phoneAndWeb
}