用另一种语言编写的地理编码Web服务地址参数

时间:2010-04-03 19:48:15

标签: web-services parameters geocoding

我尝试使用以下google map webservice来查找希腊地址: http://maps.google.com/maps/api/geocode/json?address=Ακαδημίας 16& sensor = false,但不起作用。 如果我使用拉丁字母字符写入相同的确切地址:maps.google.com/maps/api/geocode/json?address=akadimias 16& sensor = false,则它会起作用并返回正确的结果。有人可以帮忙吗? (以希腊字母作为语言参数使用此服务)

提前谢谢你,

尼古拉斯

1 个答案:

答案 0 :(得分:1)

您应该对字符进行编码。在python中你可以这样做:

import urllib
address = 'Ακαδημίας'
encoded_address = urllib.quote(address)
query = 'http://maps.google.com/maps/api/geocode/json?address='+encoded_address+'&sensor=false'

由于我不熟悉希腊语,我不知道它是否应该读作“Ακαδημίας”或“Ακαδημίας16”,但上面的例子给出的编码地址是

'%CE%91%CE%BA%CE%B1%CE%B4%CE%B7%CE%BC%CE%AF%CE%B1%CF%82'

似乎有效。我猜你在PHP或类似的方法中都有类似的方法。对于PHP,请查看Problem with greek url characters in IE