【问题标题】:GoogleMapAPI:createMarkerIcon: Error reading imageGoogleMapAPI:createMarkerIcon:读取图像时出错
【发布时间】:2016-10-21 13:36:02
【问题描述】:

我在尝试在我的网站上加载地图时收到错误 GoogleMapAPI:createMarkerIcon: Error reading image /path/to/my/image.php。这只发生在我的登台和实时系统上。在我的开发机器上一切正常。三个系统上的文件完全相同。

我找不到该问题的最终解决方案,但其他人也确实有它,因为其他板上有几个关于此问题的线程。

图片路径正确,文件可访问。

【问题讨论】:

    标签: php apache google-maps google-maps-api-3 document-root


    【解决方案1】:

    我不知道是否还有人遇到这个问题。但是我在 GoogleMapAPI 的 createMarkerIcon() 方法上花了很长时间,因为它可以在我的开发机器上正常加载图像,但在我的登台和实时机器上却出现了 GoogleMapAPI:createMarkerIcon: Error reading image /path/to/image.png 消息而失败。

    我知道这在几年前就已经是个问题了,目前还找不到任何标记为“已解决”的话题。所以我想,我会在这里与全世界分享我的见解。

    对我来说,问题是 $_SERVER['DOCUMENT_ROOT'] 返回了错误的目录。如果您使用 virtual hosts 并配置了一些 aliases,则很可能是这种情况。只要您不通过别名调用网站,一切正常。但是,一旦您使用别名调用网站,$_SERVER 变量就无法反映正确的值。这不仅是'DOCUMENT_ROOT' 索引的情况。

    但是,Maps API 仅使用此变量来确定图标图像的绝对位置。如果您知道要查找的内容,则解决方法非常简单。首先仔细检查$_SERVER['DOCUMENT_ROOT'] 返回正确的路径。如果它确实确实返回了正确的路径并且您仍然收到错误,那么您需要继续寻找解决方案。如果没有,您可以轻松地为 API 的 createMarkerIcon() 方法编写覆盖方法。只需将 $_SERVER['DOCUMENT_ROOT'] 变量替换为您的真实文档根。要检索它,请在 index.php 中使用以下行来创建具有正确路径的常量。最后的斜线是可选的,但我建议您添加它。

    define('DOCROOT',realpath(dirname(__FILE__).'/'));
    

    应该可以。为我解决了错误。只是不要对 API 本身进行修改以保持可更新性。

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 2020-02-21
      • 2016-08-08
      • 2021-12-19
      相关资源
      最近更新 更多