你好,我在互联网上寻找答案,但我听不懂。所以我问。

我将从出现问题的脚本开始:

 window.onresize=function(){
     if(_UserMarkerNewPosition){               //_UserMarkerNewPosition is global and contains coordinates
          _Map.panTo(_UserMarkerNewPosition); //_Map is global and contains the map object
     }
     else{
         _Map.panTo(_UserMarkerPosition);    //_UserMarkerPosition is global and contains coordinates
     }
  }


这段代码几乎适用于除一种情况之外的几乎所有情况!我的应用程序找到了用户位置。如您所知,浏览器在页面尝试访问用户位置时要求用户是否共享他们的位置。此时出现错误。如果用户在浏览器出现问题时调整窗口大小,则Javascript说TypeError:_Map为Undifine。造成此错误的原因是,在窗口调整大小时未创建_Map。所以我的问题是如何防止这种情况发生?

如何在创建_Map对象之前停止window.onresize执行?

任何帮助将不胜感激。非常感谢您的宝贵时间!

最佳答案

查看是否定义了变量

window.onresize = function () {
    if (typeof _Map === "undefined") {
        return;
    }
    var whatToPanTo = (_UserMarkerNewPosition) ? _UserMarkerNewPosition : _UserMarkerPosition;
    _Map.panTo(whatToPanTo);
};


如果不是,请退出。

10-04 18:46