XML转换成HTML表格,用于弹出传单地图标记
XML into HTML table for a leaflet map marker popup
我有一个带有一系列位置(当地政府区域质心)的web地图,根据LGA内部是否有特征,这些位置被过滤掉了。它通过存储与这些位置相关的特性的xml文档来实现这一点。
<LGA name="ThisLGA">
<feature>
<name>Feature 1</name>
<status>lolcat</status>
</feature>
<feature>
<name>Feature 2</name>
<status>lolcat</status>
</feature>
</LGA>
<LGA name="ThisOtherLGA">
<feature>
<name>Feature 1</name>
<status>lolcat</status>
</feature>
<feature>
<name>Feature 1</name>
<status>lolcat</status>
</feature>
</LGA>
我现在要做的是让每个LGA标记的弹出包含每个功能名称和状态(最终可能还有其他属性)的表。
有没有人对如何实现这一点有任何建议,我看到一些人使用underscore.js和创建HTML模板。然而,我不知道我需要多少行,所以它必须动态完成。是什么东西是做php比javascript更多?
算出来了,如果有人感兴趣,我想给出解决方案。
需要一个字符串作为HTML放入。bindpopup()方法
function popupTable(LGA){
//Load in xml document
var xml = loadXML("spatialLayers/nctProperties.xml");
//Start of HTML string for popup
var htmlString = "<div><table>";
//Create list of all LGA nodes
var xmls=xml.getElementsByTagName("LGA");
for (i=0;i<xmls.length;i++){
//Get a specific LGA and create HTML string of
if (xmls[i].getAttribute("type")===LGA){
var iteratorLength = xmls[i].getElementsByTagName("name").length;
//Loop through all child nodes of the LGA
for (j=0;j<iteratorLength;j++){
var status = xmls[i].getElementsByTagName("status")[j].childNodes[0].nodeValue;
//Customise icon in table based upon property status
if (status === "Covenant Registered"){
var addToString = "<tr><td>"+ xmls[i].getElementsByTagName("name")[j].childNodes[0].nodeValue+"</td><td><image src=images/mapMarkers/marker1_green_mini.png></td></tr>";
}else if (status === "Yellow Box"){
var addToString = "<tr><td>"+ xmls[i].getElementsByTagName("name")[j].childNodes[0].nodeValue+"</td><td><image src=images/mapMarkers/marker1_yellowbox_mini.png></td></tr>";
}else if (status === "For Sale"){
var addToString = "<tr><td>"+ xmls[i].getElementsByTagName("name")[j].childNodes[0].nodeValue+"</td><td><image src=images/mapMarkers/marker1_brown_mini.png></td></tr>";
}else{
var addToString = "<tr><td>"+ xmls[i].getElementsByTagName("name")[j].childNodes[0].nodeValue+"</td><td>";
}
//console.log(addToString);
htmlString = htmlString + addToString;
};
};
};
return htmlString +"</table></div>";
}
相关文章:
- 单击更改图标并通过javascript添加一个css类
- 使用Angular单击时更改特定图示符图标的颜色
- 通过单击同一图标使菜单出现和消失
- 如何制作Yii框架的linkHtmlOptions's的CGridView显示为图像图标,单击时会触发javas
- 单击时切换上下图示符图标的问题
- 单击扩展图标时打开popup.html
- 单击图标后编辑信息
- 如何在单击图标时渲染图标并调用函数
- 单击图标时切换颜色
- 根据单击图标更改 IMG SCR
- 如何自动关闭并单击图标日期选择器引导程序
- j查询按钮.单击图标时删除
- 谷歌浏览器扩展程序 - 单击图标可调用函数
- javascript 可单击图标而不是弹出窗口
- 修改日期选择插件以在单击图标时弹出日历
- 如果在 HTML/JS 中单击图标,则显示弹出窗口
- 如何设置单选按钮列表与后缀文本后的单选图标
- 单击图标时禁用扩展
- 单击图标时更改其字体
- 无法在选择框中单击图标三角形