我想开发一个用于在地图中跟踪的应用程序,因为我希望显示移动对象而不需要根据坐标重新加载整个页面。谁能建议我怎么做?
答案 0 :(得分:0)
有关移动物体的信息在哪里? 它是实时系统还是只是模拟?
在任何情况下,您都可以尝试使用JS来轮询服务器以每秒几次获取新坐标,并在地图上更新标记位置。
修改强>
下面是您从谷歌教程(https://google-developers.appspot.com/maps/documentation/javascript/examples/full/overlay-symbol-animate)中获取移动对象而不进行投票的工作示例。你需要改变的是获得坐标的方法。
var line;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(20.291, 153.027),
zoom: 6,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var lineCoordinates = [
new google.maps.LatLng(22.291, 153.027),
new google.maps.LatLng(18.291, 153.027)
];
var lineSymbol = {
path: google.maps.SymbolPath.CIRCLE,
scale: 8,
strokeColor: '#393'
};
line = new google.maps.Polyline({
path: lineCoordinates,
icons: [{
icon: lineSymbol,
offset: '100%'
}],
map: map
});
animateCircle();
}
function animateCircle() {
var count = 0;
window.setInterval(function() {
count = (count + 1) % 200;
var icons = line.get('icons');
icons[0].offset = (count / 2) + '%';
line.set('icons', icons);
}, 20);
}
google.maps.event.addDomListener(window, 'load', initialize);