Рассчитать порядок точек не работает API Google Maps - PullRequest
0 голосов
/ 20 июня 2019

Я использую API карт Google для расчета маршрута с путевыми точками

Иногда маршрут рассчитывается правильно, но иногда нет

Я беру некоторые значения из Apex (это VisualForce Page Salesforce с Javascript)

          var wayptsApresMidi = [];
          var wayPointApresMidi = {!wayPointsLocationOfPCEApresMidi};

          for(var i= 0; i < wayPointApresMidi.length; i++){                 
            wayptsApresMidi.push({
              location: new google.maps.LatLng(wayPointApresMidi[i][1], wayPointApresMidi[i][0]),
              stopover: true
            });
          }

          console.log('firstLocationOfPCELatitudeApresMidi '+'{!firstLocationOfPCELatitudeApresMidi}'); 
          console.log('firstLocationOfPCELongitudeApresMidi '+'{!firstLocationOfPCELongitudeApresMidi}'); 
          console.log('lastLocationOfPCELatitudeApresMidi '+'{!lastLocationOfPCELatitudeApresMidi}'); 
          console.log('lastLocationOfPCELongitudeApresMidi '+'{!lastLocationOfPCELongitudeApresMidi}'); 

          for(var i=0; i<wayptsApresMidi.length; i++){
              console.debug('wayptsApresMidi Longitude and Latitude '+wayptsApresMidi[i].location);
          }

          directionsServiceApresMidi.route({
              origin: new google.maps.LatLng('{!firstLocationOfPCELatitudeApresMidi}', '{!firstLocationOfPCELongitudeApresMidi}'),
              destination: new google.maps.LatLng('{!lastLocationOfPCELatitudeApresMidi}','{!lastLocationOfPCELongitudeApresMidi}'),
              waypoints: wayptsApresMidi,
              optimizeWaypoints: true,
              travelMode: 'DRIVING',
              unitSystem: google.maps.UnitSystem.METRIC,
              language: 'fr'
            }, function(response, status) {
              if (status === 'OK') {
                  console.log(response);

            for (var i = 0; i < response.routes[0].legs.length; i++) 
            {
                console.log(response.routes[0].legs[i].start_address);
                console.log(response.routes[0].legs[i].end_address);
            }
         });  

Если функции не заданы, значения, возвращаемые для waypoint_order, могут быть [4294967295, 4294967295] (Количество wayPoints верное, но значения 4294967295)

for (var i = 0; i < response.routes[0].legs.length; i++) 
            {
                console.log(response.routes[0].legs[i].start_address);
                console.log(response.routes[0].legs[i].end_address);
            }

десять раз

38 Rue Verte, xxxx, France

firstPoint / WAyPoints / LastPoint имеют несколько хороших значений

Кроме того, когда travelMode находится в состоянии WALKING, для установки TravelMode DRIVING можетфункция (наоборот -> когда ДРАЙВИНГ не функционирует, WALKING может функционировать)

Предыдущие недели, когда он работал всегда, я не знаю, работает ли он только иногда из-за изменений в моем коде или API Карт Googleизменил что-то в процессе

Может иметь 16 цифр после точки для широты / долготы (это проблема?м?)

У вас есть идея?Спасибо,

1 Ответ

1 голос
/ 20 июня 2019

Похоже, это известная проблема.

См. Следующий трекер проблем Google.

https://issuetracker.google.com/issues/135627404

...