用于从外部变量

时间:2015-07-01 08:48:34

标签: javascript jquery google-maps-api-3

我可以通过代码段

更好地解释我的情况

var cascadiaFault = new google.maps.Polyline({
    paths: [
      new google.maps.LatLng(49.95, -128.1),
      new google.maps.LatLng(46.26, -126.3),
      new google.maps.LatLng(40.3, -125.4)
    ]
});

paths属性的值应从外部变量pathsTemp

中分配

var pathsTemp = [];
for (var i = 0; i < boxes.length; i++) {
	var bounds = boxes[i];
	// Perform search over this bounds
	pathsTemp.push(bounds.getCenter());
}
var cascadiaFault = new google.maps.Polyline({
	paths: pathsTemp;
});

它不起作用..

我尝试的其他选项

paths = pathsTemp; - 不工作
paths: paths.push(pathsTmep) - 没有语法错误,但在达到此行时,在运行时未被捕获的引用错误

PS:我没有javascript背景,遗憾的是我没有时间从头开始阅读语法和规则(但是,我可以理解已经编写的大部分js代码)

2 个答案:

答案 0 :(得分:1)

好吧,我遇到了问题

  1. 正确的语法是paths: pathsTemp
  2. var pathsTemp = [];
    for (var i = 0; i < boxes.length; i++) {
     	var bounds = boxes[i];
      	// Perform search over this bounds
       	pathsTemp.push(bounds.getCenter());
    }
    var cascadiaFault = new google.maps.Polyline({
       	paths: pathsTemp
    });

    1. 以上代码在语法上是正确的,但问题是它应该是path而不是paths
    2. 虽然示例示例位于https://developers.google.com/maps/documentation/javascript/geometry#isLocationOnEdge

      使用paths,它适用于path。可能是API文档中的拼写错误

      正如所料,documentation bug logged

      参考这个stackoverflow讨论

答案 1 :(得分:0)

对于投票问题的人:请查看来自Google文档的这个误导性示例代码段并更改您的意见,如果它对您有意义(声誉在这里很重要,对于像我这样的初学者)

enter image description here