gpt4 book ai didi

javascript - 为中国用户动态切换 Google Maps API URL

转载 作者:行者123 更新时间:2023-11-29 19:10:34 25 4
gpt4 key购买 nike

这个问题不是关于为什么中国大陆的坐标不对。我已经知道中国法律以他们的 secret 算法为后盾,但更重要的是,必须使用中国服务器来准确绘制中国境内的 map 数据。

根据 google 的说法,他们的中文服务器托管在 maps.google.cn 而世界其他地区则使用 maps.google.com(注意不同的 TLD) .

我希望能够使用 .com 作为默认值嵌入 map ,并在查看中国时切换到 .cn。我可以做一个地理定位查询来确定浏览器位置并加载相关的 API,这对中国用户来说很好用,但这对中国以外的用户(或使用 VPN 的用户)在查看大陆时不起作用。

据我所知,不可能在同一文档中加载和使用这两种 API。如果有人知道如何克服这个问题,请张贴作为答案。下一个最好的办法是为用户提供一个链接,实质上是使用正确的 API 重新加载页面。

所以,我的问题。查看时Google maps in a browser , map 的右下角包含谷歌页脚及其版权和条款。另外,至少对我来说,有一个指向 maps.google.cn 的链接。然而,在我自己的代码和我在网上找到的每个嵌入式示例中,它并不存在。更改 URL 中传递的 regionlanguage 无效。

如何让这个链接出现在我自己的嵌入式 map 中?或者,“谷歌在中国”的问题是否有另一种解决方法?

最佳答案

您可以使用一种技术来实现这一点,即使用 JavaScript 动态加载 Maps API。而不是硬编码 <script src="...">在您的网站中添加标记,您可以动态构建一个标记,并可能根据检测到的用户位置更改 URL。

  var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=initialize&key=<YOUR KEY HERE>';
document.body.appendChild(script);

您的代码将负责更改 script.srchttp://maps.google.cn/...当用户在中国时。

关于javascript - 为中国用户动态切换 Google Maps API URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com