1
我试图使用XML文件在Google地图上显示一些标记。Google地图XML标记
我似乎能够让标记显示确定,但我想知道我可以如何过滤它们。
所讨论的XML如下所示;
<?xml version="1.0" encoding="utf-16"?>
<OutageData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TimeStamp>2014-01-24T11:33:41.665165+00:00</TimeStamp>
<Outages>
<Outage>
<Region>South West</Region>
<IncidentID>INCD-30315-k</IncidentID>
<ConfirmedOff>4</ConfirmedOff>
<PredictedOff>0</PredictedOff>
<Restored>0</Restored>
<Status>In Progress</Status>
<Planned>false</Planned>
<StartTime>2014-01-24T09:30:00</StartTime>
<ETR xsi:nil="true" />
<Voltage>LV</Voltage>
<PostCodes>
<string>TR20 8UJ</string>
</PostCodes>
<Sensitive>0</Sensitive>
<Location lat="50.13206" lng="-5.5528" />
</Outage>
<Outage>
<Region>South West</Region>
<IncidentID>INCD-30342-k</IncidentID>
<ConfirmedOff>7</ConfirmedOff>
<PredictedOff>0</PredictedOff>
<Restored>0</Restored>
<Status>In Progress</Status>
<Planned>true</Planned>
<StartTime>2014-01-24T09:00:00</StartTime>
<ETR xsi:nil="true" />
<Voltage>LV</Voltage>
<PostCodes>
<string>TR4 8AL</string>
<string>TR4 8AN</string>
<string>TR4 8AP</string>
<string>TR4 8AW</string>
<string>TR4 8FE</string>
</PostCodes>
<Sensitive>4</Sensitive>
<Location lat="50.28881" lng="-5.236961" />
</Outage>
</Outages>
</OutageData>
但是我只想显示Planned值为'false'的标记。 所以从上面的数据来看,只有一个标记应该显示在地图上。
我目前使用的代码是jQuery代码;
jQuery.get("/dataNew.xml", {}, function (data) {
jQuery(data).find("Outage").each(function() {
$(this).find("Location").each(function() {
var marker = jQuery(this);
var latlngNew = new google.maps.LatLng(parseFloat(marker.attr("lat")),
parseFloat(marker.attr("lng")));
var marker = new google.maps.Marker({ position: latlngNew, map: map });
});
});
});
如果任何人能够指出我在正确的方向,我会非常感激。
亲切的问候,
克里斯
我想我设法让它采用类似的方式,但是通过创建'Planned'语句作为变量并将其添加到'if'语句中。这个解决方案也是一样。感谢您的帮助。 –