【发布时间】:2022-01-09 08:35:57
【问题描述】:
我正在尝试使用传单加载地图。当我刷新地图时,出现上述错误。我研究了这个问题的其他建议答案。但是,没有一个对我有用。 我正在尝试在由 onclick 事件运行的函数中加载地图。这是代码:
function load_map_and_analyze_data(){
var mymap = L.map('mapid',{ center: new L.LatLng(the_center_splitted[0],the_center_splitted[1]),maxZoom: 17, minZoom:11, zoom: 14}); //creating the map
//the rest of analyze and code goes here
}
经过测试的建议答案:
1- 检查我的地图是否已初始化,如果是,请将其删除,然后再次定义。
console.log(mymap);
if(mymap != 'undefined' || mymap != null) {
mymap.remove();
}
结果:每当我刷新函数时,mymap 都是未定义的,只是同样的错误。
2- 仅当 mapdiv dom 准备好时,将此变量定义为函数之外的一般变量。然后我用jquery。
$( "#mapid" ).load(function() {
var mymap= L.map('mapid');
});
结果:此错误:未找到地图容器。
3- 删除 mydiv dom 并尝试在函数内部重新创建它。
console.log(mymap);
if(mymap != undefined || mymap != null){
mymap.remove();
$("#mapdiv").html("");
$( "<div id=\"mapdiv\" style=\"height: 500px;\"></div>" ).appendTo(document);
}
结果:mymap 未定义,只是代码尚未运行以测试其效率。
任何想法或建议表示赞赏。谢谢。
【问题讨论】:
标签: javascript leaflet