Javascript 使用传单的点弹出窗口。矢量网格,错误';纬度';未定义的
我有这个错误 “传单.js:5,未捕获类型错误:无法读取未定义的属性'lat' 点显示的样式很好,但只要我想点击一个点,什么都没有显示,我在开发工具中得到这个错误 你知道少了什么吗 谢谢Javascript 使用传单的点弹出窗口。矢量网格,错误';纬度';未定义的,javascript,leaflet,Javascript,Leaflet,我有这个错误 “传单.js:5,未捕获类型错误:无法读取未定义的属性'lat' 点显示的样式很好,但只要我想点击一个点,什么都没有显示,我在开发工具中得到这个错误 你知道少了什么吗 谢谢 var points=新的L.featureGroup(); 函数舍入(值,小数){ 返回数字(数学四舍五入(值+'e'+小数)+'e-'+小数); } var vectorTileOptions\u poi={ 渲染器工厂:L.canvas.tile, maxZoom:20, zIndex:100, 矢量化图
var points=新的L.featureGroup();
函数舍入(值,小数){
返回数字(数学四舍五入(值+'e'+小数)+'e-'+小数);
}
var vectorTileOptions\u poi={
渲染器工厂:L.canvas.tile,
maxZoom:20,
zIndex:100,
矢量化图层样式:{
切片:函数(属性、缩放){
var dist=properties.length
返回{
半径:距离150和距离500和距离1000?4:0,
fillColor:dist 150和dist 500和dist 1000?“#ff4d4d”:“#66ffff”,
颜色:150区和500区和1000区?“#ff4d4d”:“66ffff”,
填充:是的,
体重:1,
填充不透明度:0.8,
}
}
},
互动:没错,
};
$.getJSON(“/xyz/test/points.geojson”),函数(json){
var newPoints=L.vectorGrid.slicer(json、vectorTileOptions\u poi)
.on('click',函数(e){
var属性=e.layer.properties;
L.弹出窗口()
.setContent(
“点数据”+
“
金额:”+properties.TOTAL+”+
“
距离:”+(圆形(properties.length/1000,2))+“公里”+
“
名称:”+properties.Name+”+
“
Zipcode,城市:”+properties.Zipcode+”,“+properties.City+”
)
.setLatLng(即latlng)
.openOn(地图);
L.DomEvent.停止(e);
})
newPoints.addTo(点)
})
传单.VectorGrid实际上已经不再维护,但是如果您查看该项目的github,您会看到一些开发人员继续为各种问题(包括这一问题)实现pull请求(尚未集成)
您可以添加layer.getLatLng=null;在传单.VectorGrid.js中,要解决此问题,请参见以下内容:
_createLayer: function(feat, pxPerExtent, layerStyle) {
var layer;
switch (feat.type) {
case 1:
layer = new PointSymbolizer(feat, pxPerExtent);
// [YB 2019-10-23: prevent leaflet from treating these canvas points as real markers]
layer.getLatLng = null;
break;
case 2:
layer = new LineSymbolizer(feat, pxPerExtent);
break;
case 3:
layer = new FillSymbolizer(feat, pxPerExtent);
break;
}
if (this.options.interactive) {
layer.addEventParent(this);
}
return layer;
}
你找到问题了吗?我对L.vectorGrid.protobufthanks也有同样的问题。不,我没有找到我希望等待的解决方案,他们会更新,因为我已将其链接到unpkg.com。我猜这不会发生,我会更深入地研究这件事。。。