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
Другие вопросы по тегам