1

私はこれを1時間いじっていましたが、私が見逃している小さなものかもしれませんが、Google APIパスメソッド「.lat()」または「.lng()」を機能させることができないようです私の機能で。ただし、同じ方法で警告すると、緯度/経度の値が表示されます。この関数は、Maps Engine クエリの 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";   

「Uncaught TypeError: 未定義のメソッド 'lng' を呼び出すことはできません」というメッセージが表示されますが、次の場合:

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

それは完全にうまくいっています。

4

2 に答える 2

4

配列の最後の要素までしかチェックできません。インデックスはゼロベースなので、最後のインデックスは( length - 1)

ただに変更less than length

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

コードで配列をオーバーシュートしているため、最後のパスは undefined を返しますpath[x]

于 2013-11-20T23:28:18.707 に答える