1

座標に応じてページ全体をリロードせずに移動オブジェクトを表示したいという点で、マップで追跡するためのアプリケーションを開発したいと考えています。誰かが私にそうする方法を提案できますか?

4

1 に答える 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 に答える