百度地图TypeError: ud is null
在Ext框架中嵌入百度地图在地图中加入自定义图层后访问图层上的标示浏览器报错
错误是:
ReferenceError:mapisnotdefined
TypeError:udisnull
在排除了百度地和ExtJs框架冲突以后
最后发现是错误原因是
map这个变量是存在域是在自己定义的函数中,导致百度的函数库找不到变量
错误代码是
var namespace = 'log'; var action = 'operate-log'; MapModel = function() { return { show : function() { //map定义在这里百度函数库中自定义图层函数会访问不到该变量。 var map = new BMap.Map("container"); // 创建地图实例 map.centerAndZoom("贵阳", 15); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(); map.addControl(new BMap.NavigationControl()); // 添加默认缩放平移控件 var customLayer; function addCustomLayer(keyword) { if (customLayer) { map.removeTileLayer(customLayer); } customLayer = new BMap.CustomLayer(15853); map.addTileLayer(customLayer); customLayer.addEventListener('hotspotclick', callback); } addCustomLayer(); function callback(e)// 单击热点图层 { var customPoi = e.customPoi, str = []; str.push("address = " + customPoi.address); str.push("phoneNumber = " + customPoi.phoneNumber); var content = '<p style="width:280px;margin:0;line-height:20px;">地址:' + customPoi.address + '<br/>电话:' + customPoi.phoneNumber + '</p>'; var searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, { title : customPoi.title, // 标题 width : 290, // 宽度 height : 40, // 高度 panel : "panel", // 检索结果面板 enableAutoPan : true, // 自动平移 enableSendToPhone : true, // 是否显示发送到手机按钮 searchTypes : [BMAPLIB_TAB_SEARCH, // 周边检索 BMAPLIB_TAB_TO_HERE, // 到这里去 BMAPLIB_TAB_FROM_HERE // 从这里出发 ] }); var point = new BMap.Point(customPoi.point.lng, customPoi.point.lat); searchInfoWindow.open(point); } } } }(); Ext.onReady(function() { MapModel.show(); });
修改代码将map变量定义到window下程序正常运行
var namespace = 'log'; var action = 'operate-log'; var map;//这个位子定义map MapModel = function() { return { show : function() { //map定义在这里百度函数库中自定义图层函数会访问不到该变量。 map = new BMap.Map("container"); // 创建地图实例 map.centerAndZoom("贵阳", 15); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(); map.addControl(new BMap.NavigationControl()); // 添加默认缩放平移控件 var customLayer; function addCustomLayer(keyword) { if (customLayer) { map.removeTileLayer(customLayer); } customLayer = new BMap.CustomLayer(15853); map.addTileLayer(customLayer); customLayer.addEventListener('hotspotclick', callback); } addCustomLayer(); function callback(e)// 单击热点图层 { var customPoi = e.customPoi, str = []; str.push("address = " + customPoi.address); str.push("phoneNumber = " + customPoi.phoneNumber); var content = '<p style="width:280px;margin:0;line-height:20px;">地址:' + customPoi.address + '<br/>电话:' + customPoi.phoneNumber + '</p>'; var searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, { title : customPoi.title, // 标题 width : 290, // 宽度 height : 40, // 高度 panel : "panel", // 检索结果面板 enableAutoPan : true, // 自动平移 enableSendToPhone : true, // 是否显示发送到手机按钮 searchTypes : [BMAPLIB_TAB_SEARCH, // 周边检索 BMAPLIB_TAB_TO_HERE, // 到这里去 BMAPLIB_TAB_FROM_HERE // 从这里出发 ] }); var point = new BMap.Point(customPoi.point.lng, customPoi.point.lat); searchInfoWindow.open(point); } } } }(); Ext.onReady(function() { MapModel.show(); });
相关推荐
magvwiz 2020-09-26
mickeychan 2020-09-17
rungod 2020-09-16
xiaozhukuaitui 2020-09-05
小西0 2020-09-05
xiaozhukuaitui 2020-08-25
龙心尘 2020-08-25
rungod 2020-08-22
waiwaiLILI 2020-07-20
shilongdred 2020-06-28
人工智能快报 2020-06-09
shilongdred 2020-06-08
id=3&hmsr=%E5%BC%80%E5%8F%91%E8%80%85-AI%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF&hmpl=&hmcu=&hmkw=&hmci=
zmosquito 2020-06-02
nextwhy 2020-05-20
fengyeezju 2020-04-20
etzt 2020-04-16