1

我知道我可以使用 JSON 来做这个,但我必须这样做。我有一个谷歌地图,我正在从我的数据库(在 C# 中)中提取纬度坐标和经度坐标。之后,我将所有这些信息添加到 HTML 的 ol(有序列表)中。现在我必须将它们两两拉,并制作一个类似这样的结构:

stores1 = [{

            "lat": "12312.123",
            "lng": "2.21312",
            "state": "Potato"

        }, {

            "lat": "12321.11",
            "lng": "1.1",
            "state": "Potato2"


        }, {

            "lat": "2.32131",
            "lng": "4.4",
            "state": "Potato"

        }

        ]

我正在使用这段代码来做到这一点:

var stores=[];
    //test list
    var listTMP = document.getElementById("listDealers");
    var list = listTMP.getElementsByTagName("li");
    for (var i = 0; i < list.length-1; i++) {
        stores.push(
            {
                lat: list[i].innerText,
                lng: list[i + 1].innerText,
                state: "potato"
            }
            );
        i = i + 1;
    }

i=i+1 是因为我在表单中添加了 li(list items):

  • 经度1
  • 纬度1
  • |
  • 经度2
  • 纬度2
  • ....所以前两个在一起,然后是接下来的两个,依此类推...但是我的地图有一个问题没有显示坐标。如果我添加静态坐标,则整个 JavaScript 都可以正常工作,但我的问题是我需要像这样动态添加它们。有什么帮助吗?我在哪里犯错?

    这是c#代码:(getList是我获取数据的函数)

    string sqlL = "Select * from retailers";
    string[] atrrL = { "LATITUDE" ,"LONGITUDE"}; 
    List<String> tmpL = getList(sqlL, atrrL); 
    for (int i = 0; i < tmpL.Count; i++) { 
        listDealers.InnerHtml +=( "<li>" + tmpL[i].ToString().Trim() + "</li>");
    }
    
    4

    0 回答 0