javascript - 未捕获的类型错误:无法读取未定义的属性“addLayer”
问题描述
我正在尝试使用传单markercluster。但是当我运行它时,给我一个错误:
Uncaught TypeError: Cannot read property 'addLayer' of undefined
我在functions.js中的代码是:
for (var i in ODO) {
var latlng = L.latLng({ lat: ODO[i].LastX, lng: ODO[i].LastY });
L.marker( latlng ).addTo(map);
}
var markerClusters = new L.MarkerClusterGroup().addTo(map);
for ( var i = 0; i < ODO.length ; i++ )
{
var popup = ODO[i].branchcode +
'<br/><b>دوره:</b> ' + ODO[i].saleprd +
'<br/><b>سال :</b> ' + ODO[i].saleyear;
var map = L.marker( [ODO[i].LastX, ODO[i].LastY] )
.bindPopup( popup );
markerClusters.addLayer( map );
}
map.addLayer( markerClusters );
markerClusterLayer = L.markerClusterGroup({
disableClusteringAtZoom: 13
}).addTo(map);
调用cdn的顺序是:
<!---leaflet css -->
<link rel="stylesheet" href="css/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""/>
<!---marker cluster css -->
<link rel="stylesheet" href="css/MarkerCluster.css" />
<link rel="stylesheet" href="css/MarkerCluster.Default.css" />
<script src="script/config.js"></script>
<!-- Load Leaflet from CDN -->
<script src="script/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<script src="script/jquery-3.4.1.min.js"></script>
<!-- marker Cluster CDN -->
<script src="script/leaflet.markercluster.js"></script>
<!-- Load Esri Leaflet from CDN -->
<script src="script/esri-leaflet.js"></script>
<!--- amCharts CDN -->
<script src="script/core.js"></script>
<script src="script/charts.js"></script>
<script src="script/maps.js"></script>
<script src="script/animated.js"></script>
另外,我的 app.js 中有传单层代码,如下所示:
function Init_Map()
{
map = L.map('map').setView( [36.564012,53.060300], 8);
// add the OpenStreetMap tiles
L.tileLayer('http://mt0.google.com/vt/lyrs=p&hl=en&x={x}&y={y}&z={z}&s=Ga', {
maxZoom: 19,
attribution: '© <a href="https://openstreetmap.org/copyright">OpenStreetMap contributors</a>'
}).addTo(map);
}
有谁知道这个错误的原因?
解决方案
我Init_Map();
在我的标记聚类函数的最后一部分调用了该函数,它就可以工作了
推荐阅读
- python - 长列表的排列会破坏记忆
- javascript - 当我需要注入多个对象但参数不同时,如何将参数传递给Angular 8中的类中的构造函数?
- spartacus-storefront - 目标入口点“@spartacus/storefront”中的错误缺少依赖项:-angular-oauth2-oidc
- r - 用R中的数组派生一个新变量
- c# - 比较两个字符串时出现 ArgumentException
- ssl - Websphere MQ - 如何通过 MQ 队列管理器获取当前使用的证书详细信息
- typescript - 我可以定义一个具有可选属性的接口,但如果定义了一个,则所有属性都必须定义?
- python - sqlite3 无法使用 qmark 方法将多个表添加到 db
- sql - 将小时:分钟:ss 值从 varchar 转换为时间格式
- c# - Tiff 文件的重复功能需要 TILE 功能