1

我不确定这是正确的组。如果没有,请告诉我。

我的困境:

我需要Polylines从 Google Maps v3 返回的结果中添加到 Google Earth DirectionsService。在这种程度上,网络上似乎没有任何内容。这必须是可能的,因为 Roman 在他的驾驶模拟器中这样做:http: //earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html

不幸的是,他在那里使用 Google Maps v2,我似乎无法弄清楚如何将此代码传输到 Google Maps v3。

4

1 回答 1

1

如果有人感兴趣,这是我设法解决的方法:

function DrawLinesOnEarth() {
    var sLat;
    var sLon;
    //var start = document.getElementById("start").value;
    //var end = document.getElementById("end").value;
    var request = {
        origin: '40.306134,-74.05018',
        destination: '40.313223,-74.043496',
        travelMode: google.maps.TravelMode.WALKING
    };
    directionsService.route(request, function (result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(result);
            var steps = result.routes[0].legs[0].steps;

            //Step through array of step legs and create polylines one by one
            var lineStringPlacemark = IMC_ge.createPlacemark('');
            var lineString = IMC_ge.createLineString('');
            lineStringPlacemark.setGeometry(lineString);
            // Add LineString points
            for (var x in steps) {
                for (var y in steps[x].path) {
                    sLat = steps[x].path[y].Na;
                    sLon = steps[x].path[y].Oa;
                    lineString.getCoordinates().pushLatLngAlt(sLat, sLon, 0);
                }
            }
            // Add the feature to Earth
            IMC_ge.getFeatures().appendChild(lineStringPlacemark);

        }
    });
}
于 2012-05-08T11:43:47.423 回答