1

我想开发一个用于在地图中进行跟踪的应用程序,因为我想显示移动对象而不根据坐标重新加载整个页面。谁能建议我怎么做?

4

1 回答 1

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);
于 2013-07-05T15:24:53.957 回答