我正在将 Google map javascript api 用于网站项目。该 map 在中国大陆无法使用,除非您使用特殊的 url 加载 api。 (Explained here)。
<script src="http://maps.google.cn/maps/api/js?key=YOUR_API_KEY">
</script>
为了使网站在中国运行,我可以使用像 freegeoip.net 这样的 IP 定位服务来识别中国用户,并为他们提供中文 URL。但这需要额外的 ajax 调用,这会增加中国用户的加载时间,并增加代码的复杂性。
但是,使用中文 api url 加载 map 在任何地方都可以使用,而普通 url 只能在中国境外使用。有什么充分的理由为什么我不应该简单地为所有用户使用中文网址?会不会慢一点?
中国用户可能占用户总数的不到 5%。
最佳答案
maps.google.cn
和 maps.googleapis.com
似乎返回不同的结果:
dig @8.8.8.8 maps.googleapis.com
; <<>> DiG 9.10.5-P2-RedHat-9.10.5-2.P2.fc25 <<>> @8.8.8.8 maps.googleapis.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35078
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;maps.googleapis.com. IN A
;; ANSWER SECTION:
maps.googleapis.com. 0 IN CNAME googleapis.l.google.com.
googleapis.l.google.com. 299 IN A 216.58.221.138
googleapis.l.google.com. 299 IN A 216.58.200.10
googleapis.l.google.com. 299 IN A 216.58.221.234
googleapis.l.google.com. 299 IN A 216.58.199.106
googleapis.l.google.com. 299 IN A 172.217.25.10
googleapis.l.google.com. 299 IN A 216.58.197.106
googleapis.l.google.com. 299 IN A 216.58.199.10
;; Query time: 54 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Sep 06 16:28:16 CST 2017
;; MSG SIZE rcvd: 194
dig @8.8.8.8 maps.google.cn
; <<>> DiG 9.10.5-P2-RedHat-9.10.5-2.P2.fc25 <<>> @8.8.8.8 maps.google.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40319
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;maps.google.cn. IN A
;; ANSWER SECTION:
maps.google.cn. 0 IN CNAME ditu.google.cn.
ditu.google.cn. 299 IN A 108.177.97.94
;; Query time: 57 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Sep 06 16:28:08 CST 2017
;; MSG SIZE rcvd: 78
因此每个域提供的服务可能存在差异。
关于速度,从中国查询 maps.google.cn
返回中国的 IP 地址(上一个查询返回的地址位于美国):
dig @114.114.114.114 maps.google.cn
; <<>> DiG 9.10.5-P2-RedHat-9.10.5-2.P2.fc25 <<>> @114.114.114.114 maps.google.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40890
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;maps.google.cn. IN A
;; ANSWER SECTION:
maps.google.cn. 38 IN CNAME ditu.google.cn.
ditu.google.cn. 207 IN A 203.208.41.183
ditu.google.cn. 207 IN A 203.208.41.184
ditu.google.cn. 207 IN A 203.208.41.191
ditu.google.cn. 207 IN A 203.208.41.175
;; Query time: 11 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Wed Sep 06 16:30:54 CST 2017
;; MSG SIZE rcvd: 126
因此,速度方面可能没有太大差异。
关于javascript - 对所有国家的用户使用中文谷歌地图 API 是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46069962/