Javascript 尝试使用传单映射坐标时获取无效的LatLng对象

Javascript 尝试使用传单映射坐标时获取无效的LatLng对象,javascript,leaflet,Javascript,Leaflet,我想知道如何循环每个坐标 <div class="map-container" id="mapid"></div> <ul class="plot"> <li class="markers" data-lattitude="-40.99497" data-longitude="174.50808">Text 1</li> <li class="markers" data-latti

我想知道如何循环每个坐标

    <div class="map-container" id="mapid"></div>

    <ul class="plot">
        <li class="markers" data-lattitude="-40.99497" data-longitude="174.50808">Text 1</li>
        <li class="markers" data-lattitude="-41.30269" data-longitude="173.63696">Text 2</li>
        <li class="markers" data-lattitude="-41.49413" data-longitude="173.5421">Text 3</li>
        <li class="markers" data-lattitude="-40.98585" data-longitude="174.50659">Text 4</li>
        <li class="markers" data-lattitude="-40.93163" data-longitude="173.81726">Text 5</li>
    </ul>

    文本1 文本2 文本3 文本4 文本5
问题出在这一行:

plot.push(
  $(this).text(),
  $(this).data('lattitude'),
  $(this).data('longitude')
);
您将三个项目推送到
绘图
数组中,结果是
绘图
数组如下所示:

["Text 1", -40.99497, 174.50808, "Text 2", -41.30269, 173.63696
稍后,当您尝试迭代数组时:

for (var i = 0; i < plot.length; i++) {
  marker = new L.marker([plot[i][1], plot[i][2]]).bindPopup(plot[i][0], {
var-map=L.map('mapid'{
全屏控制:{
伪全屏:false//如果为true,则全屏到页面的宽度和高度
},
}).setView([30.539255791073,58.383450508118],5);
map.createPane(“标签”);
map.getPane('labels').style.zIndex=650;
map.getPane('labels').style.pointerEvents='none';
var positron=L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
诺拉普:没错,
最大缩放:10
}).addTo(地图);
var positeronlabels=L.tillelayer('http://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}.png'{
窗格:“标签”,
诺拉普:没错,
最大缩放:3
}).addTo(地图);
西南风=L.latLng(-89.98155760646617,-180),
东北=拉特林(89.99346179538875,180),
边界=L.latLngBounds(西南、东北);
map.setMaxBounds(bounds);
map.on('drag',function(){
图.panInsideBounds(边界{
动画:错误
});
});
var图=[];
$('.plot>.markers')。每个(函数(){
plot.push([$(this.text(),$(this.data('latitude'),$(this.data('longitude')));
});
控制台日志(绘图);
对于(变量i=0;i
/*所需样式*/
.单张,
.宣传单张,
.传单标记图标,
.小叶标记阴影,
.宣传单张,
.传单窗格>svg,
.传单窗格>画布,
.传单缩放框,
.传单图像层,
.小叶层{
位置:绝对位置;
左:0;
排名:0;
}
.传单容器{
溢出:隐藏;
}
.宣传单张,
.传单标记图标,
.小叶标记阴影{
-webkit用户选择:无;
-moz用户选择:无;
用户选择:无;
-webkit用户拖动:无;
}
/*Safari使用这种方法可以更好地渲染视网膜上的非视网膜瓷砖,但镀铬效果更差*/
.传单旅行.传单瓷砖{
图像渲染:-webkit优化对比度;
}
/*防止加载新瓷砖时硬件层“拉伸”的黑客攻击*/
.传单旅行.传单瓦片容器{
宽度:1600px;
高度:1600px;
-webkit转换原点:0;
}
.传单标记图标,
.小叶标记阴影{
显示:块;
}
/*.传单容器svg:重置svg最大宽度偏差,在Joomla装运!(joomla.org)3.x*/
/*.传单容器img:如果您在瓷砖上有最大宽度:100%,则地图在FF中断开*/
.传单容器.传单覆盖窗格svg,
.传单容器。传单标记窗格img,
.传单容器。传单阴影窗格img,
.传单容器。传单瓷砖窗格img,
.传单容器img.传单图像层,
.传单容器.传单瓷砖{
最大宽度:无!重要;
最大高度:无!重要;
}
.传单-容器。传单-触摸-缩放{
-ms触摸动作:pan-x pan-y;
触摸动作:pan-x pan-y;
}
.传单-容器{
-ms触摸动作:捏缩变焦;
/*不支持收缩缩放的FF的回退*/
触摸动作:无;
触摸动作:捏缩变焦;
}
.传单-容器。传单-触摸-拖动。传单-触摸-缩放{
-ms触摸动作:无;
触摸动作:无;
}
.传单容器{
-webkit点击突出显示颜色:透明;
}
.传单容器a{
-webkit点击突出显示颜色:rgba(511812290.4);
}
.小册子{
过滤器:继承;
可见性:隐藏;
}
.已装入宣传单张{
可见性:继承;
}
.传单缩放框{
宽度:0;
身高:0;
-moz框大小:边框框;
框大小:边框框;
z指数:800;
}
/*解决方法https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.单张覆盖窗格svg{
-moz用户选择:无;
}
.小册子窗格{
z指数:400;
}
.小册子{
z指数:200;
}
.单张覆盖窗格{
z指数:400;
}
.单张阴影窗格{
z指数:500;
}
.单张标记窗格{
z指数:600;
}
.传单工具提示窗格{
z指数:650;
}
.单张弹出窗格{
z指数:700;
}
.单张地图窗格画布{
z指数:100;
}
.单张地图窗格svg{
z指数:200;
}
.小叶vml形状{
宽度:1px;
高度:1px;
}
.lvml{
行为:url(#默认值#VML);
显示:内联块;
位置:绝对位置;
}
/*控制定位*/
.单张管制{
位置:相对位置;
z指数:800;
指针事件:VisiblePaint;
/*IE 9-10没有自动变速器*/
指针事件:自动;
}
.单张顶部,
.传单底部{
位置:绝对位置;
z指数:1000;
指针事件:无;
}
.单张顶部{
排名:0;
}
.传单对吗{
右:0;
}
.传单底部{
底部:0;
}
.左传单{
左:0;
}
.单张管制{
浮动:左;
明确:两者皆有;
}
.传单对传单控制{
浮动:对;
}
.传单顶部。传单控制{
边缘顶部:10px;
}
.传单底部。传单控制{
边缘底部:10px;
}
.传单左侧。传单控制{
左边距:10px;
}
.传单对传单控制{
右边距:10px;
}
/*缩放和淡入淡出动画*/
.传单褪色动画.传单瓷砖{
将改变:不透明度;
}
.传单褪色动画.传单弹出窗口{
不透明度:0;
-webkit过渡:不透明度0.2s线性;
-moz过渡:不透明度0.2s线性;
过渡:不透明度0.2s线性;
}
.传单淡入动画.传单地图窗格.传单弹出窗口{
不透明度:1;
}
乐先生
plot.push([
  $(this).text(),
  $(this).data('lattitude'),
  $(this).data('longitude')
]);