1

大家好,我需要每 5 秒更新一次谷歌标记位置

我有这个 javascript 代码用于在页面加载时绘制谷歌标记。

我希望能够每 5 秒更改一次标记的位置。

这是我的代码:

function initialize() {
  var myOptions = {
    zoom: 4,
    center: new google.maps.LatLng(-25.363882, 131.044922),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };


  var map = new google.maps.Map(document.getElementById('map_canvas'),
      myOptions);

  var image = new google.maps.MarkerImage("images/truck3.png",
        new google.maps.Size(32.0, 37.0),
        new google.maps.Point(0, 0),
        new google.maps.Point(16.0, 18.0)
    );
  var shadow = new google.maps.MarkerImage("images/shadow-truck3.png",
        new google.maps.Size(51.0, 37.0),
        new google.maps.Point(0, 0),
        new google.maps.Point(16.0, 18.0)
    );

  var marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map,
    icon: image,
    shadow: shadow,
    title: 'Click to zoom'
  });

google.maps.event.addDomListener(window, 'load', 初始化);

还有一件事我如何在显示多个标记时放置多个点。我知道这对您来说可能微不足道,但我对此完全陌生。

编辑:

我很抱歉,但这个谷歌让我完全糊涂了。所以我想做的是下一步。当页面加载时,我想检索最后一个位置的数组,每个位置都有自己的 id,所以 php 数组就像数组 [Lat][Lng][id],之后我想在每个位置上放置和标记并将其放在屏幕中央。当用户点击一个标记时,它会自动缩放并开始每秒将标记位置放在中心。我需要那个特定标记的 id。

这是一个类似的问题,如果一些 java 大师可以结合我来获得我需要的东西,那就太好了

类似问题的链接

4

3 回答 3

0

好吧,您可以获得对查询的大量支持GOOGLE MAPS API V3 文档

有这样的功能 setCenter(latlng)会改变运行时setPosition(latlng:LatLng)的中心,还有改变标记中心的功能,通过这种方式,您可以更改标记运行时的位置。为了存储最后的位置,您可以使用数据库并根据您的要求对其进行更新。

于 2012-06-08T14:19:17.030 回答
0

此 google.maps.Marker 方法允许您更改现有标记的位置:

访问这里setPosition(latlng:LatLng)

创建一个标记数组,循环通过它更新它们的位置。

于 2012-06-08T13:36:45.050 回答
0

将此 javascript 函数添加到您的代码中,

 $(function () {
        setTimeout(function () { $('#map_canvas').load(initialize); }, 50000);
    })
于 2014-09-11T07:46:25.870 回答