用google earth js api绘制路线

时间:2010-08-20 13:28:07

标签: google-maps routes

我开始了 使用GM api的项目。我需要从tracklogs创建路由 从车辆,但由于某种原因不起作用。

这是代码,我先调用startMap函数,然后再调用 addRouteWaypoints。地图和waypoinps工作正常,但是 路线未显示。

///

var map = null;

//----------------------------------------------------------------------------
function startMap() {

    if (GBrowserIsCompatible()) {

        map = new GMap2(document.getElementById("myMap"));
        map.setMapType(G_NORMAL_MAP);
        map.setCenter(new GLatLng(-34.40, -58.90), 11);
        map.addControl(new GSmallMapControl());
        map.setUIToDefault();
    }

}

//----------------------------------------------------------------------------
function addRouteWaypoints(waypoints) {
    try {

        var wps = new Array();

        for (var i = 0; i < waypoints.split(';').length - 2; i++) {

            lat = waypoints.split(';')[i].split(',')[0];
            lng = waypoints.split(';')[i].split(',')[1];

            //these 2 lines are for test...
            var marker = new GMarker(new GLatLng(lat, lng));
            map.addOverlay(marker);

            latProx = waypoints.split(';')[i + 1].split(',')[0];
            lngProx = waypoints.split(';')[i + 1].split(',')[1];

            wps[i] = new Array(new GLatLng(lat, lng), new
                GLatLng(latProx, lngProx));
        }

        //directionsPanel = document.getElementById("div_DirectionsPanel");
        directions = new GDirections(map);
        GEvent.addListener(
            directions,
            'error',
            function() {
                alert(directions.getStatus().code);
            }
        );

        directions.loadFromWaypoints(wps, { getPolyline: true,
        getSteps: true, travelMode: G_TRAVEL_MODE_DRIVING, preserveViewport:
            false, locale: 'es_ES' });
    }
    catch (err) {
        alert(err.source + ':' + err.message);
    }

}

感谢。

1 个答案:

答案 0 :(得分:0)

尝试绘制折线 - se GPolyline,从数组创建并使用addOverlay()