我正在项目中构建一系列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文件中
答案 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}
]
这是一个坐标对象数组,其lat
和lng
属性使用.
作为小数点分隔符。您的第一步是将文本文件转换为此格式,例如
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结果,因此我不会尝试在此处重复答案。