javascript - 对所有国家的用户使用中文谷歌地图 API 是一个好主意吗?

标签 javascript google-maps google-maps-api-3

我正在将 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.cnmaps.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/

相关文章:

javascript - 使用 jquery 触发另一个日期时间选择器

javascript - Node , Mongoose 'findOne' 在一个集合上,在另一个集合的 'find' 内

javascript - 如何将谷歌地图作为模板动态嵌入到另一个模板中

javascript - 从map.data类获取标记使用geojson谷歌地图

google-maps - 使用 Google map 避免 "Sorry, we have no imagery here"

javascript - 正则表达式更改引用样式

javascript - 满足条件时停止 Jquery.map

javascript - 如何替换 Google Map Api 中的 A 和 B 标记

google-maps - 使用 svg 标记时缩放期间的 Google map 标记对齐问题

javascript - Google Maps API v3,单击时如何更改标记图标