我正在尝试重现该页面的第三个示例https://developers.google.com/maps/customize但使用我自己的路线,到目前为止我运气不佳。
问题是使用“setDirections”它从谷歌的 api 获取路径,但我正在用我自己的 long、lat 创建一条远足路线,并且真的不知道自己来处理那部分。
这是我到目前为止得到的地方http://dev.oneshot.nc/www.megarando.nc/html/map.html
我正在尝试重现该页面的第三个示例https://developers.google.com/maps/customize但使用我自己的路线,到目前为止我运气不佳。
问题是使用“setDirections”它从谷歌的 api 获取路径,但我正在用我自己的 long、lat 创建一条远足路线,并且真的不知道自己来处理那部分。
这是我到目前为止得到的地方http://dev.oneshot.nc/www.megarando.nc/html/map.html
setDirections 很好:根据官方文档,它们可以是字符串(由服务器端的 Google 地理编码引擎隐式解析)或 LatLong 对象,你的很好。
origin: LatLng | String,
destination: LatLng | String,
https://developers.google.com/maps/documentation/javascript/directions#DirectionsRequests
但是,我想您只想使用显示逻辑,因为您定义了完整路径。那么方向不一定适合您,请考虑改用折线(https://developers.google.com/maps/documentation/javascript/overlays#PolylineArrays)。
使用任何类型的图形可视化工具(谷歌图表:https ://developers.google.com/chart/或 Raphael JS(http://g.raphaeljs.com/或http://raphaeljs.com/analytics.html)海拔。
要回答您的评论,请尝试以下内容(基于https://developers.google.com/maps/documentation/javascript/overlays#Polylines):
var routePath = new google.maps.Polyline({
path: kids,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
routePath.setMap(map);
elevationPath = kids;
recalcHeight();
});
正如我所看到的,首先,在两点之间进行路由请求。路线是一组路径,因此对于每条路径,它都会收集点并将它们放入一个统一的数组(或单个“路径”)中,并要求一个所谓的外观函数来绘制多段线路线。
采集点后,它会调用高程服务,告诉沿途的高程,当它返回时,它可以使用图表API绘制图表。
但是,您已经有了路径,并且只有一条路径:您只需告诉 Google 地图根据您的路径绘制折线(在变量 kids 中),并告诉高程服务返回沿线点的高程那条路。