【问题标题】:google maps api works at localhost but doesn't work at web servergoogle maps api 在本地主机上工作,但在网络服务器上不工作
【发布时间】:2013-01-14 06:21:21
【问题描述】:

我使用 google maps api 在地图上选择一些点并找到最短的行车路线。

一切都在 localhost 中运行,但是当我发布并上传服务器时,它不起作用...

为什么会这样?没有任何错误。地图即将出现在页面上,但我看不到标记,并且 directionResult 没有加载结果。是关于授权吗?我有有效的帐户和 api 密钥等。我允许我的域的引用。

编辑:我使用 crome JS 调试器检查脚本。这里没有回应;

directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) 
{
    directionsDisplay.setDirections(response);    }
});

状态在实时服务器上返回“”值,而不是“OK”。在本地主机它的工作!有人知道是什么原因吗?

您可以在此处查看 google.maps.api 的示例;查看源代码:https://google-developers.appspot.com/maps/documentation/javascript/examples/directions-simple

感谢您的帮助。

【问题讨论】:

  • 所以您可以看到地图但看不到标记或方向?发布您的代码可能很有用,以防出现任何错误(尽管它在本地工作的事实意味着情况并非如此)
  • 我放了一些图片,但网站不允许(因为我是这里的新用户)...我正在在代码后面(点等)上动态地制作脚本..我想这是一个授权问题。导致它在本地主机中工作......
  • V3 不需要授权,当授权出现问题时,您会收到一条警报,通知您密钥无效。可以发链接吗?

标签: google-maps-api-3 authorization markers api-key driving-directions


【解决方案1】:

我解决了这个问题。它关于 Web 服务器的十进制符号。在我的本地主机中,我使用“。”作为十进制符号。但是在网络服务器中它是“,”所以在谷歌地图中,​​纬度和纬度点的值有误,地图 api 无法找到这些点。

从区域和语言设置更改网络服务器十进制符号后(适用于所有用户)。它开始工作......

【讨论】:

    【解决方案2】:

    最近我遇到了同样的问题。
    创建我的 api 密钥后,它也开始在我的服务器上工作。
    奇怪的事实是,本地总是可以完美运行,不需要密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      相关资源
      最近更新 更多