我正在尝试使用Google地图API加载地图。我有一个脚本,它将它集中在一个给定的lcation上,在:var address =“my address”;
中指定会话包含txt文件路径的一部分,该文件中包含地址。
这有点乱,但它有一个目的: - )
这是javascript with php:
var geocoder = new google.maps.Geocoder();
<?php
$center_path = "images\blog\\".$_SESSION['trip']."\\Center.txt";
echo "var address = \"";
include($center_path);
echo "\";";
?>
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
}
});
此输出
var address =“我的地址”;
在html中意味着它应该有效,只有它没有。
有人知道为什么变量地址没有正确传递吗?
答案 0 :(得分:0)
您正在使用该文件的相对路径。确保该文件基于root。要调试它,请使用echo $ center_path并确保echo out的路径指向该文件。如果所有其他方法都失败,请指定绝对路径。
答案 1 :(得分:0)
尝试使用file_get_contents而不是使用include来获取文件。从那里,您应该正确清理文件,并在其上运行修剪。在测试时我注意到即使是一个单行文件也存在行尾字符,这可能会导致javascript中出现有趣的事情。
正如其他人所说,你应该为自己做一些适当的延迟,并回应所有的变量,并确保它们包含你想要的信息。
有一点是,会话是变化无常的生物。你应该确保你的会话变量完全按照它应该使用,$ center_path变量是正确的,并且所有内容都应该是正确的。
除此之外,我不确定我们还能在那里做什么。
答案 2 :(得分:0)
您应该使用file_get_contents
将文件加载到变量而不是include
,该变量用于在调用它的上下文中执行代码。