2015-04-16 3 views
-2

У меня есть имена 1100 больниц из района Нью-Йорка. Мне нужно найти адрес этих больниц из Google. Я ищу какой-то сценарий, который я могу использовать для предоставления всего имени больницы, и он может вернуть мне адрес. Сценарий может вернуть простой результат поиска Google. Формат ввода:скрипт для поиска адреса на картах Google

Hospital Name 
Center for Ambulatory Surgery 
Genetic Diagnostic Labs Inc 

Желаемый формат вывода:

Hospital Name Hospital Address 
Center for Ambulatory Surgery 3112 Sheridan Dr, Amherst, NY 14226 
Genetic Diagnostic Labs Inc 490 Delaware Ave, Buffalo, NY 14202 
+0

Вы пытались написать какой-либо код или исследовать правильные API? Для API Google существует [довольно щедрый лимит бесплатного использования] (https://developers.google.com/maps/faq#usagelimits). – hexafraction

ответ

0

Раствор с google Places API, но результаты могут быть не очень точным: http://codepen.io/anon/pen/JogeyV?editors=101

var NY_latlng = new google.maps.LatLng(40.828624, -73.898605); 
    map = new google.maps.Map(document.getElementById('map-canvas'), { 
    center: NY_latlng, 
    zoom: 15 
    }); 

    var hospitals = []; 
    var hospitals_names = ["Center for Ambulatory Surgery","Genetic Diagnostic Labs Inc"];//insert your full list here 

    var service = new google.maps.places.PlacesService(map); 
    hospitals_names.forEach(function(name){ 

    service.textSearch(
         { 
         query: name, 
         location: NY_latlng, 
         radius: 50000, //in meter 
         },function(results,status){ 

        if (status == google.maps.places.PlacesServiceStatus.OK){ 
        var hospital= { name: name, addresses: []}; 
        $('#address-list').append("<h2>"+name+"</h2><ul></ul>"); 
        for (var i = 0; i < results.length; i++) { 
         hospital.addresses.push(results[i].formatted_address); 

         $('#address-list > ul').append("<li>"+results[i].formatted_address); 
        } 
        hospitals.push(hospital); 

        } 

}); 
0

Вы можете сделать это в R с пакетом ggmap, хотя, возможно, недостаточно надежно для получения результатов, которые вы получили муравей. Например, это попытка Геокодировать терпит неудачу:

geocode("Genetic Diagnostic Labs Inc") 

Warning message: 
geocode failed with status ZERO_RESULTS, location = "Genetic Diagnostic Labs Inc" 

Таким образом, чтобы проиллюстрировать решение, я добавил "Нью-Йорк" в поисках Google:

library(ggmap) 
hospital_names <- c("Center for Ambulatory Surgery", "Genetic Diagnostic Labs Inc") 
address_vec <- lapply(hospital_names, function(x) revgeocode(as.numeric(geocode(paste(x,", NY"))))) 
result <- data.frame(name = hospital_names, address = unlist(address_vec)) 

Результат:

result 
          name          address 
1 Center for Ambulatory Surgery 426 Union Road, West Seneca, NY 14224, USA 
2 Genetic Diagnostic Labs Inc City Hall Park Path, New York, NY 10007, USA 

Но это а не указанные вами адреса - вам может потребоваться уточнить ваши входы.

+0

См. Также 'dismo :: geocode', который принимает вектор имен мест. – jbaums

Смежные вопросы