Php GoogleMapAPI:createMarkerIcon:读取图像时出错
当我尝试在我的网站上加载地图时,我遇到了错误Php GoogleMapAPI:createMarkerIcon:读取图像时出错,php,apache,google-maps,google-maps-api-3,document-root,Php,Apache,Google Maps,Google Maps Api 3,Document Root,当我尝试在我的网站上加载地图时,我遇到了错误GoogleMapAPI:createMarkerIcon:error reading image/path/to/my/image.php。这只发生在我的登台和实时系统上。在我的开发机器上一切正常。这三个系统上的文件完全相同 我找不到这个问题的最终解决方案,但其他人也有,因为其他板上有几个线程正是关于这个问题的 图像路径正确,文件可以访问。我不知道是否还有人存在此问题。但是我花了相当长的时间在GoogleMapAPI的createMarkerIcon
GoogleMapAPI:createMarkerIcon:error reading image/path/to/my/image.php
。这只发生在我的登台和实时系统上。在我的开发机器上一切正常。这三个系统上的文件完全相同
我找不到这个问题的最终解决方案,但其他人也有,因为其他板上有几个线程正是关于这个问题的
图像路径正确,文件可以访问。我不知道是否还有人存在此问题。但是我花了相当长的时间在GoogleMapAPI的
createMarkerIcon()
方法上,因为它可以在我的开发机器上很好地加载映像,但是失败了,在我的登台和实时机器上出现了消息GoogleMapAPI:createMarkerIcon:Error reading image/path/to/image.png
我知道这在几年前是一个问题,目前还找不到任何标记为“已解决”的线程。所以我想,我会在这里与全世界分享我的见解
对我来说,问题是,$\u服务器['DOCUMENT\u ROOT']
返回了错误的目录。如果您正在使用配置了一些别名的虚拟主机,则最有可能出现这种情况。只要你不通过别名呼叫该网站,一切正常。但是,只要使用别名调用网站,$\u SERVER
变量就无法反映正确的值。这不仅仅是'DOCUMENT\u ROOT'
索引的情况
然而,Maps API仅使用此变量来确定图标图像的绝对位置。如果你知道自己在寻找什么,那么解决方法非常简单。首先仔细检查$\u服务器['DOCUMENT\u ROOT']
是否返回正确的路径。如果确实返回了正确的路径,而您仍然得到错误,那么您需要继续寻找解决方案。如果没有,您可以轻松地为API的createMarkerIcon()
方法编写重写方法。只需将$\u服务器['DOCUMENT\u ROOT']
变量替换为实际的文档根即可。要检索它,请使用index.php中的以下行创建具有正确路径的常量。最后一个斜杠是可选的,但我建议您添加它
define('DOCROOT',realpath(dirname(__FILE__).'/'));
这样就可以了。为我解决了这个错误。只是不要为了保持可更新性而修改API本身