以下のように、 Googleエンコーディングライブラリを使用して、パスポイント配列をエンコードおよびデコードしています。
エンコードするには:
var encodedPath = google.maps.geometry.encoding.encodePath(path);
デコードするには:
var decodedPath = google.maps.geometry.encoding.decodePath(encodedPath);
ただし、エンコーディング ライブラリが毎回一貫して読み込まれるわけではないことがわかりました。以下に印刷したように、ライブラリがマップのみをロードする場合があります。
showRouteFor(): google = [object Object]
showRouteFor(): google.maps = [object Object]
showRouteFor(): google.maps.geometry = undefined
以下の JS コードを使用します。
console.log("showRouteFor(): google = " + google);
if(google != null) {
console.log("showRouteFor(): google.maps = " + google.maps);
if(google.maps != null) {
console.log("showRouteFor(): google.maps.geometry = " + JSON.stringify(google.maps.geometry));
if(google.maps.geometry != null) {
console.log("showRouteFor(): google.maps.geometry.encoding = " + JSON.stringify(google.maps.geometry.encoding));
}
}
}
それ以外の場合は、ライブラリが正常に読み込まれるため、それを使用してパスをデコードできます。
その理由は何ですか?お時間をいただきありがとうございます。