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 配列に変換したいと考えています。
助けてくれてありがとう。