Javascript L未定义传单错误
我正试图设置传单,并在他们的网站上遵循。然而,我一直得到一个错误Javascript L未定义传单错误,javascript,html,css,leaflet,Javascript,Html,Css,Leaflet,我正试图设置传单,并在他们的网站上遵循。然而,我一直得到一个错误 Uncaught ReferenceError: L is not defined at initmap (main.js:10) at main.js:6 这似乎是个重要问题,但我被卡住了。我已经尝试使用他们教程中提供的导入 <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" integrity="sha512
Uncaught ReferenceError: L is not defined
at initmap (main.js:10)
at main.js:6
这似乎是个重要问题,但我被卡住了。我已经尝试使用他们教程中提供的导入
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css"
integrity="sha512-07I2e+7D8p6he1SIM+1twR5TIrhUQn9+I6yjqD53JQjFiMf8EtC93ty0/5vJTZGF8aAocvHYNEDJajGdNx1IsQ=="
crossorigin=""/>
切换两个脚本标记main.js和传单.js的顺序 基本上,您是在实例化传单.js之前实例化main.js的,因此main.js在运行时不存在L
<script src="js/leaflet/leaflet.js"></script>
<script src="js/main.js"></script>
我将mapbox与reactjs一起使用,而不是直接使用传单,在我的情况下,我能够通过从窗口变量获取来解决错误消息:
L未定义无未定义
:
var L = window.L;
我也有一个与L的错误,但在这种情况下,错误是在
hi@shadowfool我已经尝试过了,但它似乎不起作用,请注意,我们正在动态加载这些文件,我可以在控制台上看到dom结构,它实际上遵循指定的顺序,但当我移动到上一页并返回时,错误仍然出现!顺便说一句,这两个页面都引用了相同的html和相同的js。您是否碰巧使用了脚本标记的异步加载功能?这正是我在尝试绕过ESLint失败时所需要的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--Stylesheets-->
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="js/leaflet/leaflet.css">
<!--Scripts-->
<script src="js/main.js"></script>
<script src="js/leaflet/leaflet.js"></script>
</head>
<h1>State Capitals</h1>
<!--State Form-->
<div class="form-group">
<label for="state" class="col-sm-2 control-label">State</label>
<div class="col-sm-10">
<select class="form-control" id="state" name="state">
<option value="">N/A</option>
<option value="AK">Alaska</option>
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
<option value="AZ">Arizona</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DC">District of Columbia</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="IA">Iowa</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="MA">Massachusetts</option>
<option value="MD">Maryland</option>
<option value="ME">Maine</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MO">Missouri</option>
<option value="MS">Mississippi</option>
<option value="MT">Montana</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="NE">Nebraska</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NV">Nevada</option>
<option value="NY">New York</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="PR">Puerto Rico</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VA">Virginia</option>
<option value="VT">Vermont</option>
<option value="WA">Washington</option>
<option value="WI">Wisconsin</option>
<option value="WV">West Virginia</option>
<option value="WY">Wyoming</option>
</select>
</div>
</div>
<!--Map-->
<div id="mapid"></div>
<body>
</body>
</html>
var map;
var ajaxRequest;
var plotlist;
var plotlayers=[];
initmap();
function initmap() {
// set up the map
map = new L.Map('map');
// create the tile layer with correct attribution
var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var osmAttrib='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
var osm = new L.TileLayer(osmUrl, {minZoom: 8, maxZoom: 12, attribution: osmAttrib});
// start the map in South-East England
map.setView(new L.LatLng(51.3, 0.7),9);
map.addLayer(osm);
}
h1{
text-align: center;
}
.form-group {
width: 700px;
height: 10%;
border: 1px solid #c3c3c3;
margin: auto;
position: absolute;
left: 0;
right: 0;
}
#mapid { height: 180px; }
<script src="js/leaflet/leaflet.js"></script>
<script src="js/main.js"></script>
var L = window.L;