Ma loop for ne marche pour google map api
Résolu
sulot
Messages postés
103
Statut
Membre
-
dsy73 Messages postés 9917 Statut Contributeur -
dsy73 Messages postés 9917 Statut Contributeur -
Bonjour,
J'ai une api qui liste un ensemble de lieux, et j'aimerais obtenir leur coordonnées en longitude et latitude. Donc je récupère la première api, et j'utilise l'api de googlemap.
Quand je remplace index par 1,2 ou 3 en enlevant la loop for, car marche... Comprends pas. Une idée? Merci!
Mon code dans lesquelles j'ai enlevé mes clés ap suivi du message d'erreur quand je copie colle le code dans le terminal:
Traceback (most recent call last):
File "<stdin>", line 8, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 465, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 483, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1283, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1240, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1118, in _send_request
self.putrequest(method, url, **skips)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 960, in putrequest
self._output(request.encode('ascii'))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 43: ordinal not in range(128)
J'ai une api qui liste un ensemble de lieux, et j'aimerais obtenir leur coordonnées en longitude et latitude. Donc je récupère la première api, et j'utilise l'api de googlemap.
Quand je remplace index par 1,2 ou 3 en enlevant la loop for, car marche... Comprends pas. Une idée? Merci!
Mon code dans lesquelles j'ai enlevé mes clés ap suivi du message d'erreur quand je copie colle le code dans le terminal:
import json import urllib.request #API listes des lieux: url="https://www.kimonolabs.com/api/YYYYY?apikey=XXXXXXXXX" data = json.loads(urllib.request.urlopen(url).read().decode("utf-8")) googlekey = 'XXXXXXXXXXX' #Va chercher les données de l'api liste des lieux les une après les autres puis va chercher les lat et long for index in range(0,2): collect= data['results']['collection1'][index]['Adresse'] print (collect) addresse1= collect.replace(' ','+').replace('\n','') url2= 'https://maps.googleapis.com/maps/api/geocode/json?address=' + addresse1 + '&key=' + googlekey data2=json.loads(urllib.request.urlopen(url2).read().decode("utf-8")) coord_latitude = data2['results'][0]['geometry']['location']['lat'] coord_longitude = data2['results'][0]['geometry']['location']['lng'] print (collect,coord_latitude,coord_longitude)
Traceback (most recent call last):
File "<stdin>", line 8, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 465, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 483, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1283, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1240, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1118, in _send_request
self.putrequest(method, url, **skips)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 960, in putrequest
self._output(request.encode('ascii'))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 43: ordinal not in range(128)
A voir également:
- Ma loop for ne marche pour google map api
- Google maps satellite - Guide
- Google maps - Guide
- Dns google - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Google photo - Télécharger - Albums photo