javascript - onEachfeatures 不显示内容但 [object Object]
问题描述
我有以下 geojson 并希望在 eachFeature 上显示人员详细信息
贝娄是我的 Geojson 输出的属性部分
"properties": {"lr": "26697/751", "Registrations": {"Tenure_type": "leasehold", "persons": [{"PersonID": 7475, "name1st": "benard", "name2st": "gramps", "telephone": "02857215"}, {"PersonID": 7512, "name1st": "Jackie", "name2st": "morgan", "telephone": "0248571264"}]}}}
这是我的代码
<body>
<h1>Ownership</h1>
<script type="text/javascript">
function our_Layers (map, options){
var datasets = new L.GeoJSON.AJAX("{% url 'owner' %}",{
onEachFeature: function(feature, layer){
layer.bindTooltip(feature.properties.Registrations.persons.toString(),
{permanent:true, direction: 'right'});
}
});
datasets.addTo(map);
}
</script>
{% leaflet_map "Owners" callback="window.our_Layers" %}
</body>
解决方案
我认为您需要使用 JSON.stringify() 函数来解析您的对象:
layer.bindTooltip(JSON.stringify(feature.properties.Registrations.persons),
{permanent:true, direction: 'right'});
要查看 JSON.stringify() 和 .toString 方法之间的区别,我创建了以下代码片段:
var persons = [
{ "PersonID": 7475, "name1st": "benard", "name2st": "gramps", "telephone": "02857215" },
{ "PersonID": 7512, "name1st": "Jackie", "name2st": "morgan", "telephone": "0248571264" }
];
console.log(JSON.stringify(persons));
console.log(persons.toString());
推荐阅读
- javascript - 如何阻止 alertController 第二次打开
- android - 通过 Kotlin 中的 Switch 按钮设置元素可见性
- python - 在 Python 中,我将如何比较一个字典中的两个值在另一个字典中具有相同的值?
- django - 我应该为一堆 OneToOne 字段使用内联表单集还是复选框字段
- python - 如何使用 conda 在开发模式下安装 python setup.py 所需的包?
- android - Android Volley Kotlin: (Mutable)Map<(raw) Any?, (raw) Any?>! 与 MutableMap
- reactjs - React,createContext 默认值问题与 useState 挂钩
- java - Java MapStruct 总是将 boolean 转换为 false
- javascript - React 道具起初显示为未定义
- android - 在回收站视图后面显示文本