你好,我在互联网上寻找答案,但我听不懂。所以我问。
我将从出现问题的脚本开始:
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);
};
如果不是,请退出。