为什么 Mapbox eachLayer 函数不会在每次加载页面时触发?
Why Mapbox eachLayer function doesn't fire every time page is loaded?
这段代码让我有些头疼:
regions = L.mapbox.featureLayer().loadURL('somefile.geojson');
layer.on('ready', function(e) {
var regionBounds;
console.log(regions);
regions.eachLayer(function(lr) { //This function fires about one of two site loads.
if(lr.feature.properties.title == '{{ $region->name }}') {
regionBounds = lr.getBounds();
}
});
layer.eachLayer(function(lr) {
if(lr.feature.geometry.type == 'Point') {
lr.setIcon(L.divIcon(icon));
}
});
map.fitBounds(regionBounds);
}
当eachLayer()
失败时,regions
_request 属性 设置为XMLHttpRequest,当正确加载地图时设置为null,但我不确定这是什么意思。如果有人能帮我解决这个问题,并使这个功能在每个站点负载上都能正常工作,我将不胜感激。
您的 on.('ready', ...)
函数未连接到 regions
,它连接到 layer
(我猜它是在别处定义的)。如果将其更改为 regions.on('ready', ...)
,该函数将在加载 somefile.geojson
之前执行,并且应该在每次加载页面时执行。
这段代码让我有些头疼:
regions = L.mapbox.featureLayer().loadURL('somefile.geojson');
layer.on('ready', function(e) {
var regionBounds;
console.log(regions);
regions.eachLayer(function(lr) { //This function fires about one of two site loads.
if(lr.feature.properties.title == '{{ $region->name }}') {
regionBounds = lr.getBounds();
}
});
layer.eachLayer(function(lr) {
if(lr.feature.geometry.type == 'Point') {
lr.setIcon(L.divIcon(icon));
}
});
map.fitBounds(regionBounds);
}
当eachLayer()
失败时,regions
_request 属性 设置为XMLHttpRequest,当正确加载地图时设置为null,但我不确定这是什么意思。如果有人能帮我解决这个问题,并使这个功能在每个站点负载上都能正常工作,我将不胜感激。
您的 on.('ready', ...)
函数未连接到 regions
,它连接到 layer
(我猜它是在别处定义的)。如果将其更改为 regions.on('ready', ...)
,该函数将在加载 somefile.geojson
之前执行,并且应该在每次加载页面时执行。