【问题标题】:Google Maps GDirections - Route directions between two points on a mapGoogle Maps GDirections - 地图上两点之间的路线路线
【发布时间】:2010-11-03 23:47:15
【问题描述】:

这看起来应该有效吗?我想生成从一个纬度/经度到另一个纬度/经度的方向。

var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(35.742149,139.337218);
wp[1] = new GLatLng(35.735347,139.328485);

var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();

// load directions
directions = new GDirections(dirMap);
directions.load("from: Waypoint1@21.742149,100.337218 to: Waypoint2@15.740815,100.3267");

地图加载正常,但方向没有输入。我也试过这样:

var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(32.742149,119.337218);
wp[1] = new GLatLng(32.735347,119.328485);

var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();

// load directions
directions = new GDirections(dirMap);
directions.loadFromWaypoints(wp);

同样的事情...地图但没有方向。任何帮助都非常感谢,在此先感谢您!

【问题讨论】:

    标签: javascript api google-maps


    【解决方案1】:

    检查我在Google Maps API Reference 中尝试时得到的状态 (604) 说:

    GDirections 对象不能 计算点之间的方向 查询中提到。这是 通常是因为没有路线 在两点之间可用,或 因为我们没有数据 在那个地区路由。

    这是我使用的代码(稍作修改):

    $(function ()
    {
        if (GBrowserIsCompatible())
        {
            var wp = [new GLatLng(35.742149,139.337218), new GLatLng(35.735347,139.328485)];
    
            var map = new GMap2(document.getElementById('map-canvas'));
            map.setCenter(wp[0], 12);
            map.setUIToDefault();
    
            var marker = new GMarker(wp[1]);
            map.addOverlay(marker);
    
            var directions = new GDirections(map);
            GEvent.addListener(
                directions,
                'error',
                function ()
                {
                    console.log(directions.getStatus().code);
                }
            );
            directions.load('from: Waypoint1@21.742149,100.337218 to: Waypoint2@15.740815,100.3267');
        }
    });
    

    【讨论】:

    • 他提供的代码没有问题。我逐字使用它并计算出正确的路线。
    【解决方案2】:

    乍一看你的代码我看不到任何明显的东西,所以我的第一个猜测是 GDirections 请求返回失败(我还假设你已经检查了 javascript 错误日志对于任何错误,工具/错误控制台(如果您尚未这样做)。

    我建议您为您的 GDirections 对象添加一个错误处理程序,这将为您提供一些指示您的请求发生了什么:

    GEvent.addListener(directions, "error", handleErrors);
    

    并在 handleErrors 回调中查看:

    directions.getStatus().code
    

    Geo Status Codes比较。

    编辑:好的,我刚刚在这里试用了 your codeworks perfectly。我只能假设您的页面上存在导致问题的其他问题。您可以在问题中发布链接以便我们查看吗?

    【讨论】:

    • 问题出在我的测试盒上……所以没有链接。在您对其进行测试后,我将代码复制到一个新的 html 文件并成功加载它。至少我知道现在这不是 javascript 的错。非常感谢您的帮助,非常感谢。
    猜你喜欢
    • 2013-01-11
    • 2016-06-06
    • 2011-01-24
    • 2011-08-08
    • 1970-01-01
    • 2010-10-21
    • 2011-01-02
    • 2016-04-22
    相关资源
    最近更新 更多