0

我正在尝试重现该页面的第三个示例https://developers.google.com/maps/customize但使用我自己的路线,到目前为止我运气不佳。

问题是使用“setDirections”它从谷歌的 api 获取路径,但我正在用我自己的 long、lat 创建一条远足路线,并且真的不知道自己来处理那部分。

这是我到目前为止得到的地方http://dev.oneshot.nc/www.megarando.nc/html/map.html

4

1 回答 1

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)。

使用任何类型的图形可视化工具(谷歌图表: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 中),并告诉高程服务返回沿线点的高程那条路。

于 2012-07-22T22:27:34.237 回答