0

我正在尝试将我的 v2 Google Maps 代码转换为 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);
    }
    });

}  

它绘制了方向,但我无法从阵列中获得纬度。我知道它现在在 MVCarray 中,但我不知道如何使用它。我无法阅读它。

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

具体来说,我正在尝试获取 Google 在绘制路线时创建的方向折线。我找到的大部分帮助都是关于制作折线。我想获取 Google Maps 创建的那个,并将 lat/longs 解析为一个 javascript 数组,以便以后使用。

谢谢你的帮助。

4

0 回答 0