Google maps 如何在不刷新地图的情况下刷新经纬度
我们的网站上有谷歌地图。我们希望每5秒更新一次纬度和经度(从MySQL调用),并更改地图上的标记位置,而地图或页面不会重新加载。 我们的JAVASCRIPT代码是:Google maps 如何在不刷新地图的情况下刷新经纬度,google-maps,refresh,latitude-longitude,Google Maps,Refresh,Latitude Longitude,我们的网站上有谷歌地图。我们希望每5秒更新一次纬度和经度(从MySQL调用),并更改地图上的标记位置,而地图或页面不会重新加载。 我们的JAVASCRIPT代码是: var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map =
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
// To add the marker to the map, use the 'map' property
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
您必须使用对后端脚本的AJAX调用,该脚本将返回类似于带有新标记数据的JSON字符串的内容 jQuery代码:
setInterval(function () {
$.post('your-file.php', { }, function (r) {
var result = eval('(' + r + ')');
var newLatLng = new google.maps.LatLng(result.latitude, result.longitude);
marker.setMap(null);
/* Recreate the marker here or update coordinates from result.latitude and result.longitude */
});
}, 5000);
这是your-file.php:
/* MySQL Query here */
echo json_encode('latitude' => $latitude, 'longitude' => $longitude);
使用marker.setMap(null)可以从地图中删除标记,然后使用正确的坐标再次创建它,否则只需使用marker.setPosition(newLatLng)