cocos creator 间隔多少秒 刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos creator 间隔多少秒 刷新相关的知识,希望对你有一定的参考价值。

参考技术A 很快的 小于一秒 是按帧刷新的 比如 显示帧为60 每秒 60次刷新

如何设置每 10 秒刷新一次位置的间隔?

【中文标题】如何设置每 10 秒刷新一次位置的间隔?【英文标题】:How can I set an interval to refresh location every 10 seconds? 【发布时间】:2018-10-19 09:07:12 【问题描述】:

我有这段运行良好的代码,我想每 10 秒“刷新”一次位置,我搜索并尝试过,但我找不到路

  var map, infoWindow;
  function initMap() 
    map = new google.maps.Map(document.getElementById('map'), 
      center: lat: -34.397, lng: 150.644,
      zoom: 6
    );
    infoWindow = new google.maps.InfoWindow;

    if (navigator.geolocation) 
      navigator.geolocation.getCurrentPosition(function(position) 
        var pos = 
          lat: position.coords.latitude,
          lng: position.coords.longitude
        

        infoWindow.setPosition(pos);
        infoWindow.setContent('Location found.');
        infoWindow.open(map);
        map.setCenter(pos);
        

我认为我应该在这里设置一个间隔,但我不知道如何。

      , function() 
        handleLocationError(true, infoWindow, map.getCenter());
        interval
      );
     else 
      // Browser doesn't support Geolocation
      handleLocationError(false, infoWindow, map.getCenter());
    
  

  function handleLocationError(browserHasGeolocation, infoWindow, pos) 
    infoWindow.setPosition(pos);
    infoWindow.setContent(browserHasGeolocation ?
   'Error: The Geolocation service failed.' :
   'Error: Your browser doesn't support geolocation.');
    infoWindow.open(map);
  

【问题讨论】:

每 10 秒更新一次的任何理由?由于 GMaps 对 API 请求收费,这将使您发送比需要更多的请求 = 更高的成本。如果发生了变化,更新不是更有意义吗? 我想用 html5 和 sql 使用地图制作一个应用程序,我想发送当前位置以防我需要在地图上绘制标记并实时查看其他标记 如果你是新手,那么我明白你的方法,这并不容易。但是您应该稍后查看如何更新事件而不是固定时间。它将提高性能并降低成本。您只需要了解如何保持和更新应用的状态。 如果您正在观看位置变化,为什么不使用watchPosition() 函数而不是getCurrentPosition()? developer.mozilla.org/en-US/docs/Web/API/… 你们有什么推荐的? 【参考方案1】:

希望下面的解决方案能给你一点启发,谢谢。

var map, infoWindow;

function initMap() 
  map = new google.maps.Map(document.getElementById('map'), 
    center: 
      lat: -34.397,
      lng: 150.644
    ,
    zoom: 6
  );
  infoWindow = new google.maps.InfoWindow;

  getCurrentPosition(map, infoWindow)




function getCurrentPosition(map, infoWindow) 
  if (navigator.geolocation) 
    navigator.geolocation.getCurrentPosition(function(position) 
      var pos = 
        lat: position.coords.latitude,
        lng: position.coords.longitude
      

      infoWindow.setPosition(pos);
      infoWindow.setContent('Location found.');
      infoWindow.open(map);
      map.setCenter(pos);
      setTimeout(getCurrentPosition(map, infoWindow), 10000);

    , function() 
      handleLocationError(true, infoWindow, map.getCenter());
      interval
    );
   else 
    // Browser doesn't support Geolocation
    handleLocationError(false, infoWindow, map.getCenter());
  



function handleLocationError(browserHasGeolocation, infoWindow, pos) 
  infoWindow.setPosition(pos);
  infoWindow.setContent(browserHasGeolocation ?
    'Error: The Geolocation service failed.' :
    "Error: Your browser doesn't support geolocation.");
  infoWindow.open(map);

【讨论】:

以上是关于cocos creator 间隔多少秒 刷新的主要内容,如果未能解决你的问题,请参考以下文章

cocoscreator内存占用多少算高

Cocos Creator Label 设置文本后立即获取高度

如何设置每 10 秒刷新一次位置的间隔?

如何能让浏览的网页每间隔几秒刷新一次

cocos2x update多少秒执行一次

cocos creator bug集锦