2012-05-04 9 views
0

Google Maps API V3を使用していますが、何かが間違ったルートが表示されていませんでした。 がここにコードルートポリラインにDirectionsRendererのGoogleマップv3が表示されていませんか?

function addRoute(source,destination,color){ 
     deleteOverlays(); 
     var arr = []; 
     var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); 
     var queryString = "?source=" + source+"&destination="+destination; 
     request.open("GET","url to get the stops"+ queryString, true); 
     request.send(null); 
     request.onreadystatechange = function() { 
      if (request.readyState == 4) { 
       if (request.status == 200) { 
        route = eval(request.responseText); 
        for(var i = 0; i < route.length; i++){ 
         //alert("route::"+route[i].stopname); 
         var marker = addMarker(new google.maps.LatLng(route[i].lattitude,route[i].langitude),route[i].stopname); 
         markersArray.push(marker); 
         arr.push({ location: new google.maps.LatLng(route[i].lattitude,route[i].langitude), stopover: true }); 
         map.setCenter(new google.maps.LatLng(route[i].lattitude,route[i].langitude)); 

        } 
        drawPolyline(source,destination,arr,color); 
        showOverlays(); 
       } 
      } 
     }; 
} 

AJAXの応答は、この形式で

[{"stopname":"Bookstore,Hamilton,NY","lattitude":42.8040014451186,"langitude":-75.548035569867},{"stopname":"Townhouse,Hamilton,NY","lattitude":42.8094640653946,"langitude":-75.5441731888855},{"stopname":"Cutten Hall,Hamilton,NY","lattitude":42.8162955973712,"langitude":-75.5402678925598},{"stopname":"Whitnall Field,Hamilton,NY","lattitude":42.8177908781254,"langitude":-75.5412549454773},{"stopname":"Person Hall,Hamilton,NY","lattitude":42.8179325344271,"langitude":-75.5369204957092},{"stopname":"Frank Dining Hall,Hamilton,NY","lattitude":42.8159650567458,"langitude":-75.5374569375122},{"stopname":"Person Hall,Hamilton,NY","lattitude":42.8178066177305,"langitude":-75.536877580365},{"stopname":"Whitnall Field,Hamilton,NY","lattitude":42.817633481854,"langitude":-75.5412334878052},{"stopname":"University Ct./Burch,Hamilton,NY","lattitude":42.8183102829785,"langitude":-75.5432934243286},{"stopname":"Parker Apartments,Hamilton,NY","lattitude":42.8182945435016,"langitude":-75.5456108529175},{"stopname":"Newell Apartments ,Hamilton,NY","lattitude":42.8179167948541,"langitude":-75.5466837365235}] 




    function drawPolyline(source,destination,waypoints,color){ 
     var polylineOptionsActual = { strokeColor: color }; 
     var directionsDisplay = new google.maps.DirectionsRenderer({ 
       suppressMarkers: true, 
       suppressInfoWindows: true, 
       polylineOptions: polylineOptionsActual 
      }); 
     var directionsService = new google.maps.DirectionsService(); 
     directionsDisplay.setMap(map); 
     //var mode = google.maps.DirectionsTravelMode.DRIVING; 
     var request = { 
        origin: source, 
        destination: destination, 
        travelMode: google.maps.TravelMode.DRIVING, 
        waypoints:waypoints 
       }; 
       directionsService.route(request, function(response, status) { 
        if (status == google.maps.DirectionsStatus.OK) { 
        directionsDisplay.setDirections(response); 
        directionsArray.push(directionsDisplay); 
        } 
       }); 
    } 

every value is going fine. 

ですが、ルートが表示されていない、GoogleマップのAPI V3に変更された事ありますか?

+0

はあなたがdrawPolylineする提供されたパラメータを投稿することができます-warning 「MAX_WAYPOINTS_EXCEEDED」を受け取りますか?その機能は、私のために機能します。 –

+0

こんにちは、私はここでコードを更新しました。plzはそれを見てください... –

答えて

0

ビジネスライセンスを所有していないとします。

制限はありますか? 8つのウェイポイントが、あなたは現在directionsService.route()のコールバックで11

チェックstatusを持っているが、あなたは

+0

ありがとう、それは問題でした..どのようにそれはより多くのwaypointsのために働いた... –

+0

ビジネスライセンスを購入する(23の限界があります)。または、自分でルートを作成します(ウェイポイントを知っているときは、ポリラインとマーカーを作成するのに十分なデータが必要です) –

+0

ルートの作成方法を説明できますか? –

関連する問題