gpt4 book ai didi

javascript - 传单 js : Uncaught TypeError: Cannot read property 'addLayer' of undefined

转载 作者:行者123 更新时间:2023-12-03 07:20:53 26 4
gpt4 key购买 nike

我正在尝试使用 Leaflet 创建 map 并在 map 上显示标记。有人对我在 map 上显示标记时收到的以下错误有任何想法吗?

我可以启动页面的 map 加载:

var map;
var ajaxRequest;
var plotlist;
var plotlayers=[];

function initmap() {
// set up the map
map = new L.Map('map');

// create the tile layer with correct attribution
var osmUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var osmAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
var osm = new L.TileLayer(osmUrl, {minZoom: 8, maxZoom: 20, attribution: osmAttrib});

// start the map over Holland
map.setView(new L.LatLng(52.36994, 4.90788),8);
map.addLayer(osm);
}

我创建了一个标记:

var marker=L.marker([52.63275, 4.75175]).bindPopup('testmarker');

将标记添加到 map 时,出现错误“Uncaught TypeError: Cannot read property 'addLayer' of undefined”:

marker.addTo(map);

在 initmap() 函数中包含这一行时,它可以正常工作。如此看来, map 实例无法访问或功能之外的东西?这很奇怪,因为变量是在脚本开始时在函数之外创建的?

谢谢!

最佳答案

解决了。 map 实例是在 dom 完全加载之前创建的,因此 div 'map' 还不存在。我将包含 javascript 的脚本标签从页​​面的头部移到了正文的末尾。

关于javascript - 传单 js : Uncaught TypeError: Cannot read property 'addLayer' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53048135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com