座標に応じてページ全体をリロードせずに移動オブジェクトを表示したいという点で、マップで追跡するためのアプリケーションを開発したいと考えています。誰かが私にそうする方法を提案できますか?
3243 次
1 に答える
0
移動物体に関する情報はどこにありますか? リアルタイムシステムですか、それともシミュレーションのみですか?
いずれにせよ、JS を使用して毎秒数回サーバーをポーリングして新しい座標を取得し、マップ上のマーカーの位置を更新することができます。
編集
以下に、Google チュートリアル ( 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);
于 2013-07-05T15:24:53.957 に答える