google map 沒有辦法查中文

7 views
Skip to first unread message

derekypp peng

unread,
Dec 17, 2009, 8:36:14 PM12/17/09
to grail...@googlegroups.com
大家好:

參考了   精通 Grails: Grails 服务和 Google 地图

可是他裡面的地理編碼器,好像不能用中文,後來發現google自已也有出

想請教一下,我參考了這個連結 使用google map 地址轉成經緯度的服務
http://www.google.com/support/forum/p/maps/thread?tid=13561149b31ba8df&hl=zh-TW

文章上面這樣做
http://maps.google.com.tw/maps/geo?q="300台灣新竹市東區中華路二段50號"&output=csv
可以得到 "200,6,50.4824596,15.8749800"

可是我一樣的URL操作卻會得到
400,0,0,0

所以我試著把中文地址換成英文
http://maps.google.com.tw/maps/geo?q="la"&output=csv
卻可以得到正確結果200,2,31.2448234,-92.1450245

在網路上看到不少人都直接帶中文地址就可以正常操作了
也看到goole map Api 說明說
http://code.google.com/intl/zh-TW/apis/maps/documentation/services.html#Geocoding_Direct

找不到地區和語言這類的參數可加

請各位大大給小弟點指點,謝謝

Tigerf

unread,
Dec 17, 2009, 8:53:49 PM12/17/09
to grailsunion
应该是url的编码问题吧,可以先试试是否是utf8编码的,url中的中文实际上应该是形如 %E4%B8%AD%E6%96%87 (“中文”两个字)这样的。

通常我会用sniff工具,看看浏览器和自己的程序发出的http包头有什么不同。

Thanks & Best Regards
Tigerf


2009/12/18 derekypp peng <dere...@gmail.com>

--

您收到此邮件是因为您订阅了 Google 网上论坛的“Grails联盟-GrailsUnion”论坛。
要向此网上论坛发帖,请发送电子邮件至 grail...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 grailsunion...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/grailsunion?hl=zh-CN 访问此网上论坛。

derekypp peng

unread,
Dec 17, 2009, 10:21:58 PM12/17/09
to grail...@googlegroups.com
再請教TigerF 大大

 println "encode:" + URLEncoder.encode("中文")
 我得到是 %A4%A4%A4%E5 為什麼和你剛貼的有點出入
 


2009/12/18 Tigerf <tig...@gmail.com>
361.gif

Tigerf

unread,
Dec 17, 2009, 10:37:18 PM12/17/09
to grailsunion
我这里贴出的是utf8编码的,每个汉字3字节,所以是6个%xx。
你贴出的应该一种兼容iso-8859-1的编码的,台湾也许是big5或者其他什么,我们这边通常是gbk。这种编码一个汉字2字节,所以是4个%xx。

你应该使用 URLEncoder.encode("中文","utf8")
这样强制使用utf8编码
361.gif

derekypp peng

unread,
Dec 17, 2009, 10:44:09 PM12/17/09
to grail...@googlegroups.com
可以了^^ 謝謝TigerF 現在可以準備用map 來畫地圖了^^

2009/12/18 Tigerf <tig...@gmail.com>
361.gif

Tigerf

unread,
Dec 17, 2009, 10:45:13 PM12/17/09
to grailsunion
客气了,共同提高。
361.gif
Reply all
Reply to author
Forward
0 new messages