【问题标题】:Google map custom routing and elevation using my own points谷歌地图自定义路线和海拔使用我自己的点
【发布时间】:2012-07-22 22:06:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript api google-maps elevation


    【解决方案1】:

    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 中),并告诉海拔服务返回海拔沿该路径的点。

    【讨论】:

    • 我的问题肯定有点令人困惑。我知道 setDirection 很好,我需要折线。但我不知道从 map.js 中的第 196 行开始做什么来使用我的折线而不是 setDirection。除此之外,我来自谷歌的柱状图可以很好地显示正确的数据。
    猜你喜欢
    • 2010-10-21
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多