Google Elevation API: закодированная полилиния
Можно ли использовать API Google Elevation с закодированной полилинией через клиента?
Я знаю, что есть
https://maps.googleapis.com/maps/api/elevation/json?key=" + Meteor.settings.public.googleMaps + "&locations=enc:" + encodedPath
Но это не работает на стороне клиента, только на стороне сервера. Или я ошибаюсь?
Я не могу заставить это работать через объект лифта.
elevator.getElevationAlongPath({
path: L.PolylineUtil.encode(path),
samples: 256,
}, function(elevations, status) {
ни
elevator.getElevationForLocations({
locations: L.PolylineUtil.encode(batch)
},
Сообщение об ошибке:
in property locations: not an Array
Он работает с массивом LatLng, но это было бы слишком неэффективно для моего приложения, так как мне нужно повышение по пути с тысячами координат.
1 ответ
Вы можете использовать google.maps.geometry.encoding.encodePath(path:Array<LatLng>|MVCArray<LatLng>)
метод, который принимает массив значений latLngs и кодирует их в ломаную линию
var polyline = google.maps.geometry.encoding.encodePath(yourLatlangArray);
https://maps.googleapis.com/maps/api/elevation/json?key=" +
Meteor.settings.public.googleMaps + "&locations=enc:" + polyline