如何从外部文件中提取纬度经度组合

时间:2015-11-18 20:35:43

标签: javascript google-maps variables external

我正在项目中构建一系列Google地图。

我的代码一般都有这种格式:

var variableName = [
(lng:39.4455676,lat:47.55566),
(lng:39.4455676,lat:47.55566),
(lng:39.4455676,lat:47.55566),
(lng:39.4455676,lat:47.55566),
(lng:39.4455676,lat:47.55566),
.... and 13000 lines...
(lng:39.4455676,lat:47.55566),
],

然后,第二次调用此变量:

    variableName = new google.maps.Polygon({
            path: variableName,
            strokeColor: '#000000',
            strokeOpacity: 0.8,
            strokeWeight: 2,
            fillOpacity: 0.1
        }); 

我想要做的是通过Javascript从外部文本,XML文件中提取这13000行Lat和LONGitude。

原因?

我目前的HTML代码是22000行(仅限7个管理内容,但我需要69个),即使我的Dreamweaver安装在一个非常强大的四核上,它还需要10秒才能编辑其中的任何代码。

任何建议的帮助将不胜感激。

基本上是这样的:

我需要知道如何使用

只有1个变量的Lat Lng值 然后将此规则应用于所有变量,然后将这些数据提取到主要文档所在的主HTML文件中

3 个答案:

答案 0 :(得分:0)

您可以使用fileReader获取文件内容。

var freader = new FileReader(); // create the reader
freader.onload = function (evt) {  // set onload event
    var result = evt.target.result;  // get the result
    // to do. Extract the data
};
freader.readAsText(fileName);  // start loading

fileReader MDN filereader

的更多信息

我假设你知道如何解析一串数据。

答案 1 :(得分:0)

如果我理解正确,由于变量的大小,您不希望每次需要编辑代码时都要打开一个巨大的文件。幸运的是,你不需要做任何“拉动”。或阅读文件来实现这一目标。

简单地说,将您的大variableName放在单独的.js文件中,并在HTML主脚本之前包含它。例如,您的HTML可能如下所示:

<script src="js/bigvariable.js">
<script src="js/main.js">

bigvariable.js应如下所示:

var variableName = [
(39,4455676,47,55566),
(39,4455676,47,55566),
(39,4455676,47,55566),
(39,4455676,47,55566),
(39,4455676,47,55566),
.... and 13000 lines...
(39,4455676,47,55566),
];

您的main.js将自动有权访问variableName

另外,请参阅原始帖子下方的评论,以获取有关格式/语法的建议。

答案 2 :(得分:0)

new google.maps.Polygon的{​​{1}}给出了path参数的示例

[
   {lat: 25.774, lng: -80.190},
   {lat: 18.466, lng: -66.118},
   {lat: 32.321, lng: -64.757}
]

这是一个坐标对象数组,其latlng属性使用.作为小数点分隔符。您的第一步是将文本文件转换为此格式,例如

var variableName = [
    {lat: 39.4455676, lng: 47.55566},
     .... and 13000 lines...
],

可以按常规包含的javascript文件。另一种选择是将坐标数组转换为JSON字符串文件,并在属性名称周围加上引号。更像是

[
   {"lat":39.4455676,"lng":47.55566},
   ... and so on
]

快速搜索SO以查找“如何包含JSON文件”,结果显示491结果,因此我不会尝试在此处重复答案。