gpt4 book ai didi

javascript - “if”语句在 D3.js 中不起作用

转载 作者:行者123 更新时间:2023-12-02 17:07:41 24 4
gpt4 key购买 nike

我需要在地铁站位置的 map 上绘制圆圈。如果车站温度低于 20 度,则圆圈的“笔划”必须为白色,否则为黑色。

我尝试了很多方法,下面的一种在逻辑上是最简单的,但它不起作用有人能告诉我为什么吗?

                    var stroke; // a global variable

function ShowWeather(sId, place) {
var h;
$.ajax({
type: "GET",
url: "Station-Weather1.xml",
dataType: "xml",
success: function (xml) {`$(xml).find('DWStation').each(function () {
var stId = $(this).find("sId").text()

if (sId == stId) {
var cDate = getCurrentDate();
var wLocId = $(this).find("wId").text()

var wtURL = "http://localhost:56854/WebForm1.aspx?webURL=http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/xml/";


var wData;
$.ajax({
url: wtURL,
dataType: 'xml',
data: wData,
success: weatherData,
error: MyMessage
});

function weatherData(wData) {


var dv = $(wData).find("DV");

var tmp = dv.find("Location").find("Period").find("Rep");


if (attrib.name == "T") { // In the corresponding XML file "T" is the "Temperature" value

if (attrib.value < 20 ) {stroke = 1;} else {stroke =0;}
} } } }); },});}

        var data;


$.ajax({
url: "webURL=http://www.tfl.gov.uk/tfl/syndication/feeds/cycle-hire/livecyclehireupdates.xml",
dataType: 'xml',
data: data,
success: parseXml,
error: MyMessage
});

function parseXml(data) {
var c;
var color;
var stations = d3.select(data).selectAll("station")[0];
g.selectAll("circle")
.data(stations)
.enter()
.append("circle")
.style("fill", "red")
.attr("cx", function (d) {
return projection([d.getElementsByTagName("long")[0].childNodes[0].nodeValue, d.getElementsByTagName("lat")[0].childNodes[0].nodeValue])[0];
})
.attr("cy", function (d) {
return projection([d.getElementsByTagName("long")[0].childNodes[0].nodeValue, d.getElementsByTagName("lat")[0].childNodes[0].nodeValue])[1];
})
.attr("r", 3)


.style ("stroke", function(d)
{

if (stroke == 1) { return c ="white"; } else { return c ="black"; }
})

最佳答案

您使这件事变得比实际需要的更加困难 - 您可以在一个位置检查属性值和颜色设置,而不是将其分散到多个位置:

.style("stroke", function(d) { return d.T < 20 ? "white" : "black"; })

这假设您绑定(bind)到圆圈的 stations 数据已附加此属性。

关于javascript - “if”语句在 D3.js 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25101174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com