Javascript 无法调用未定义的方法,但警报(方法)仍在工作
我已经玩了一个小时了,这可能是我缺少的一些小东西,但我似乎无法让Google API路径方法“.lat()”或“.lng()”在我的函数中工作。但是,如果我使用相同的方法发出警报,它将显示lat/lng值。此函数试图构建映射引擎查询的WHERE子句的LINESTRING部分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){
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哦,我的天哪,我根本没注意到我做了那件事。我真蠢。非常感谢!哦,我的天哪,我根本没注意到我做了那件事。我真蠢。非常感谢!