0

是否可以通过客户端使用带有编码折线的 google Elevation API?

我知道有

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,但这对我的应用程序来说效率太低,因为我需要沿着 1000 坐标路径的高程。

4

1 回答 1

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
于 2018-02-06T15:13:14.753 回答