0

您好,我在互联网上搜索了答案,但我无法理解。所以我问。

我将从我遇到问题的脚本开始:

 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 is Undifine。导致此错误的原因是在调整窗口大小时未创建 _Map。所以我的问题是如何防止这种情况发生?

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

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

4

1 回答 1

2

查看变量是否定义

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

如果不是,退出。

于 2013-04-19T13:04:13.013 回答