0

v2 の Google マップ コードを v3 に変換しようとしていますが、ルート案内からポリラインを取得するのに問題があります。基本的に、特定の間隔(100マイルごとなど)でパスに沿って緯度/経度を取得しようとしています。以前は getPolyline と getVertexCount を使用していました。次に、VertexCount をマイル数で割り、見るべきポリラインの概数を取得します。v3 では、これらのコマンドの両方がなくなったことを知っています。以下のコードを使用してポリラインを取得しましたが、アラートを実行すると [オブジェクト オブジェクト] が表示されるため、何かが得られるかどうかはわかりません。

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 マップが作成したものを取得し、緯度/経度を解析して、後で使用できる JavaScript 配列に変換したいと考えています。

助けてくれてありがとう。

4

0 に答える 0