【发布时间】:2016-09-16 07:09:39
【问题描述】:
当我每 1 分钟加载一次地图时如何跟踪地图上的当前位置,但现在每 1 分钟后地图位置重定向到默认位置。
这是我的代码。我每 1 分钟调用一次加载函数,并从 mapajax1.php 文件中获取数据。我想保持我在地图上的最后一个位置,因为我跟踪驱动程序
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng("<?php echo $lat;?>", "<?php echo $lng;?>"),
zoom: 5,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP file
downloadUrl("mapajax1.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var email = markers[i].getAttribute("email");
var phone = markers[i].getAttribute("phone");
var status = markers[i].getAttribute("status");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + email+ "</b> <br/>" + phone+ "</b> <br/>" + status;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
setInterval(function(){
load()
}, 60000);
</script>
【问题讨论】:
-
在调用load()函数之前需要保存地图上的最后一个位置。因此,您的代码每次都会返回到初始位置
-
能否请您分享任何链接以保存最后一个位置
标签: javascript php google-maps