我正在尝试根据访问者的位置来居中我的地图,但不知何故它不起作用。
我有一个包含访问者国家代码的PHP变量,当我在浏览器中检查源代码时,它可以正常工作。它看起来像这样;
<head>
...
<script type="text/javascript">
var lang = <?php echo $lang; ?>;
</script>
<script type="text/javascript" src="js/script.js"></script>
</head>
<body onload="initialize()">
...
我的script.js包含这些行;
function initialize() {
if (lang == NL) {
var centerlat = 52.150892;
var centerlng = 5.534668;
var zoomlvl = 7;
}
else {
var centerlat = 52.367896;
var centerlng = 5.219407;
var zoomlvl = 13;
}
var myLatlng = new google.maps.LatLng(centerlat,centerlng);
var myOptions = {
zoom: zoomlvl,
center: myLatlng,
...
}
map = new google.maps.Map(document.getElementById("kaart"), myOptions);
当我加载包含地图的页面时,它不会出现。在源代码中,我可以看到PHP变量正确显示。
Firebug说lang未定义。有什么想法在这里发生吗?
//编辑:我有另一个变量以相同的方式完成,工作正常。但它在初始化函数之外。
解决:忘记引号^^
答案 0 :(得分:1)
使用“”尝试环绕NL。
另外,您是否考虑过HTML 5地理定位?它实现起来相对简单,并且会为您提供更准确的位置。
在这里查看:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation和此处:http://www.w3schools.com/html/html5_geolocation.asp
答案 1 :(得分:0)
抱歉,我没有'评论'的代表有什么想法在这里发生?
NL是字符串变量还是值(应该是“NL”?)