小编Spy*_*ros的帖子

Javascript:解析txt文件,将数据传递给数组

晚上好。我对 Javascript 真的很陌生,我一直在参加一些课程来帮助我完成我和朋友一起做的一个小项目。

我的问题是,我使用 Javascript 读取具有以下形式的 txt 文件(我通过脱机 Java 程序中的算法生成):

 [[37.928],[23.6965]]
 [[37.9305],[23.69675]]
 [[37.9315],[23.69775]]
 [[37.9335],[23.69975]]
 [[37.9350],[23.69999]]
Run Code Online (Sandbox Code Playgroud)

以下 Javascript 尝试解析该文件并将这些值作为数组返回给我,每一行都是数组中的一行。

<iframe id="frmFile" src="test.txt" onload="LoadFile();" style="display: none;"></iframe>
<script type="text/javascript">

var nodeArray=new Array();  

function LoadFile() {
    var oFrame = document.getElementById("frmFile");
    var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML;
    while (strRawContents.indexOf("\r") >= 0)
        strRawContents = strRawContents.replace("\r", "");
    arrLines = strRawContents.split("\n");
    for (var i = 0; i < arrLines.length; i++) {
        nodeArray = arrLines[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我离开最后一行并尝试打印结果,它通常会出现(整行),当我尝试填充数组时,它只在每一行中输入一个字符,最终结果为 [ [ 3 7 . 而不是线条。我究竟做错了什么?

javascript arrays parsing

5
推荐指数
1
解决办法
8983
查看次数

无法在传单中使用自定义图标

继续尝试创建的地图导航应用程序时,遇到以下错误:

我解析OSM磁贴,并获得所有关注点的列表。这是成功的。然后,我想使用一些自定义图标将标记放在Leaflet中。所提到部分的代码如下

首先包括:

<link rel="stylesheet"href="./includes/leaflet.css" />
<link rel="stylesheet" href="./includes/style.css" type="text/css">
<script src="http://cdn.leafletjs.com/leaflet-0.5/leaflet.js"></script>
<script src="./includes/jquery.js"></script>
<script src="./includes/geo.js" type="text/javascript"></script>
<script src="./includes/gears_init.js" type="text/javascript"></script>
<script type="text/javascript">
Run Code Online (Sandbox Code Playgroud)

对于找到的那些导航点,我有一个自定义图标,如下所示:

if($.inArray(EleID, MarkerArray)==-1)
                {

                    if(LocType!="")
                    {
                        var markerLocation = new L.LatLng(EleLat,EleLon);
                        var Icon = new CustomIcon("./images/"+LocType+".png");
                        var marker = new L.Marker(markerLocation,{icon : Icon});

                        if(EleText!="")
                        {
                            marker.bindPopup(EleText);

                        }

                        Layergroup.addLayer(marker);
                        MarkerArray.push(EleID);
                    }

                }
Run Code Online (Sandbox Code Playgroud)

这些图标位于./image/目录中,其类型为图标名称(例如hotel.png中的hotel)

最后,我在HTML文档的“正文”部分中创建了地图

var map = new L.Map('map');


        var cloudmadeUrl = 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png',
            cloudmadeAttrib = 'Map data CC-BY-SA &amp; ODbL 2012 OpenStreetMap contributors, Data via <a href="http://www.overpass-api.de/">Overpass API</a>',
            cloudmade …
Run Code Online (Sandbox Code Playgroud)

javascript jquery openstreetmap leaflet

3
推荐指数
1
解决办法
5186
查看次数

标签 统计

javascript ×2

arrays ×1

jquery ×1

leaflet ×1

openstreetmap ×1

parsing ×1