Javascript 无法调用未定义的方法,但警报(方法)仍在工作

Javascript 无法调用未定义的方法,但警报(方法)仍在工作,javascript,google-maps-api-3,methods,google-maps-engine,Javascript,Google Maps Api 3,Methods,Google Maps Engine,我已经玩了一个小时了,这可能是我缺少的一些小东西,但我似乎无法让Google API路径方法“.lat()”或“.lng()”在我的函数中工作。但是,如果我使用相同的方法发出警报,它将显示lat/lng值。此函数试图构建映射引擎查询的WHERE子句的LINESTRING部分 queryWhere += "ST_DISTANCE(geometry,ST_GEOMFROMTEXT('LINESTRING("; for(x = 0; x <= path.length; x=x+2){

我已经玩了一个小时了,这可能是我缺少的一些小东西,但我似乎无法让Google API路径方法“.lat()”或“.lng()”在我的函数中工作。但是,如果我使用相同的方法发出警报,它将显示lat/lng值。此函数试图构建映射引擎查询的WHERE子句的LINESTRING部分

queryWhere += "ST_DISTANCE(geometry,ST_GEOMFROMTEXT('LINESTRING(";

    for(x = 0; x <= path.length; x=x+2){

        queryWhere += path[x].lng() + " " + path[x].lat();

        if(!path[path.length - 1] || !path[path.length - 2]){

            queryWhere += ", ";
                }
        }
            queryWhere += ")'))<5000";   

它工作得非常好。

只能检查数组中的最后一个元素。索引是从零开始的,所以最后一个索引是
(长度-1)

更改为仅
小于长度

for(x = 0; x < path.length; x=x+2)
for(x=0;x

您在代码中超出了数组的范围,因此最后一次传递将返回未定义的路径[x]

只能检查数组中的最后一个元素。索引是从零开始的,所以最后一个索引是
(长度-1)

更改为仅
小于长度

for(x = 0; x < path.length; x=x+2)
for(x=0;x

您在代码中超出了数组的范围,因此最后一次传递将返回未定义的路径[x]

我认为它可能来自您的循环

for(x = 0; x <= path.length; x=x+2){
或减小长度:

    for(x = 0; x <= path.length-1 ; x=x+2){

for(x=0;x我认为它可能来自于您的循环

for(x = 0; x <= path.length; x=x+2){
或减小长度:

    for(x = 0; x <= path.length-1 ; x=x+2){

for(x=0;x哦,我的天哪,我根本没注意到我做了那件事。我真蠢。非常感谢!哦,我的天哪,我根本没注意到我做了那件事。我真蠢。非常感谢!