如何从方向读取折线纬度/长度?

时间:2014-02-03 21:11:52

标签: javascript google-maps google-maps-api-3 google-polyline map-directions

我正在尝试将我的v2 Google地图代码转换为v3,但我遇到了从方向获取折线的问题。基本上我试图以特定的间隔(每100英里左右)沿着路径获得纬度/经度。在过去,我使用了getPolyline和getVertexCount。然后我将VertexCount除以里程数,并在折线中得到一个我应该看的近似数字。我知道v3这两个命令都没了。我已经使用下面的代码来获取折线,但我不确定我得到了什么,因为当我运行警报时,我得到[object Object]。

var map;
var gdir;
var poly;
var tempstr;
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();

function initialize() {     

    var rendererOptions = {
    draggable: true
    };
    directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
    var mapOptions = {
    zoom: 6,
    center: new google.maps.LatLng(37.0, -107.0)

    };
    map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
    directionsDisplay.setMap(map);


    directionsDisplay.setPanel(document.getElementById('directions'));
    poly = new google.maps.Polyline;


    setDirections("Colorado Springs", "Phoenix");

    google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
    computeTotalDistance(directionsDisplay.getDirections());

    var thispathlatlong;
    thispathlatlong = poly.getPath();
    alert(thispathlatlong);

    });

} 


function setDirections(fromAddress, toAddress) {


    tempstr = {
        origin:fromAddress,
        destination:toAddress,
        provideRouteAlternatives: false,
        travelMode: google.maps.TravelMode.DRIVING,
        unitSystem: google.maps.UnitSystem.IMPERIAL

    };

    directionsService.route(tempstr, function(result, status) {
    if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay.setDirections(result);
    }
    });

}  

它绘制了方向但我无法从数组中得到lat。我知道它现在在MVCarray中,但我不知道如何使用它。我看不懂。

这是我的网站http://www.orbitalspeeds.com/

具体而言,我正在尝试获取Google在绘制路线时创建的路线折线。我发现的大部分帮助都是关于制作折线;我想抓住谷歌地图创建的那个,并将纬度/长度解析成我稍后可以使用的javascript数组。

感谢您的帮助。

0 个答案:

没有答案