Используйте один и тот же запрос контента API Google Map и получите разные результаты - PullRequest
0 голосов
/ 16 ноября 2018

В эти дни я сталкиваюсь с действительно странной проблемой и не могу ее решить. Пожалуйста, помогите!Я хочу использовать API карты Google, чтобы получить долготу и широту адреса. Вот мое определение функции для запроса API:

def get_coordinates(df):
if pd.notnull(df['geocode']):
    address=df['geocode']
    response = requests.get("https://maps.googleapis.com/maps/api/geocode/json?address=" 
                        + address+"&key=my-key")
    json_response = response.json()

    if len(json_response['results'])==0:
        return 'None'
    else:
        coordinates=json_response['results'][0]['geometry']['location']
        latitude=coordinates['lat']
        longitude=coordinates['lng']

        l_l=[latitude, longitude]
        return l_l
else:
    return 'None'

Я храню адрес в кадре данных.
enter image description here
Тогда я могу использовать df.apply для запроса API для каждого адреса:

test2['coor1'] = test2.apply(get_coordinates,axis = 1)

Но тогда действительно странная вещь: я знаю, что большинствоиз этого адреса должны быть в Бразилии, но когда я использую scatter для их построения, я замечаю, что многие из них находятся за пределами Бразилии.Так что, я думаю, что-то не так с запросом API. Затем я снова запускаю «Применить», и на этот раз некоторые адреса получают совершенно другое местоположение по сравнению с прошлым разом.Понятия не имею почему.Интересно, была ли у кого-то такая же проблема раньше. Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...