我正在尝试重现该页面https://developers.google.com/maps/customize的第三个例子,但是使用我自己的路线,到目前为止我没有太多运气。
问题是使用“setDirections”它从google的api获取路径,但我正在用我自己的long,lat创建一条远足路线,并且真的不知道自己要处理那部分。
这是我到目前为止的地方http://dev.oneshot.nc/www.megarando.nc/html/map.html
答案 0 :(得分:0)
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)。
使用任何类型的图形可视化工具(Google图表: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地图根据您的路径(在变量孩子中)绘制折线,并告诉高程服务返回高程这条路上的点。