繁体   English   中英

Google Maps v3 API,基于位置的中心地图

[英]Google maps v3 api, center map based on location

我正在尝试根据访问者的位置来定心地图,但是不知道怎么做。

我有一个包含访问者国家代码的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是未定义的。 知道这里发生了什么吗?

// edit:我用同样的方式完成了另一个工作正常的变量。 但是它在初始化函数之外。

解决:忘记引号^^

尝试用“”包围NL。

顺便说一句,您是否研究过HTML 5地理位置? 它的实施相对简单,可以为您提供更准确的位置。

在此处查看: https : //developers.google.com/maps/documentation/javascript/examples/map-geolocation和此处: http : //www.w3schools.com/html/html5_geolocation.asp

知道这里发生了什么吗?

抱歉,我没有关于“评论”的回复

NL是字符串变量还是值(应该是“ NL”吗?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM