невозможно разрешить символ «добавить» список - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь использовать PolyUtil. isLocationOnPath и запрашивает java.util.Listcom.google.android.gms.maps.model.LatLng, а не java.util.List com.google.type.LatLng.В результате, когда я пытаюсь создать список следующим образом:

 List<com.google.android.gms.maps.model.LatLng> path3 = new ArrayList<>();
 path3.add(new com.google.android.gms.maps.model.LatLng(-35.016, 143.321),
           new com.google.android.gms.maps.model.LatLng(-34.747, 145.592),
           new com.google.android.gms.maps.model.LatLng(-34.364, 147.891),
           new com.google.android.gms.maps.model.LatLng(-33.501, 150.217),
           new com.google.android.gms.maps.model.LatLng(-32.306, 149.248),
           new com.google.android.gms.maps.model.LatLng(-32.491, 147.309))

 public boolean checkLocationOnRoute(){
   return  onRoute = PolyUtil.isLocationOnPath(currentPoint, path, false, 100);
 }

Это приводит к ошибке cannot resolve symbol 'add'.Как я могу создать список для ломаной линии , используя необходимый List<com.google.android.gms.maps.model.LatLng> и для isLocationOnPath метод.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Учитывая, что .add(new com.google.android.gms.maps.model.LatLng(Lat, Lng)); выбрасывал cannot resolve symbol 'add', я поместил весь следующий код ниже внутри моего requestLocationUpdates метода:

List<com.google.android.gms.maps.model.LatLng> options = new ArrayList<>();

                options.add(new com.google.android.gms.maps.model.LatLng(-35.016, 143.321));
                options.add(new com.google.android.gms.maps.model.LatLng(-34.747, 145.592));// Add all remaining points                    

                onRoute = PolyUtil._isLocationOnPath_(currentPoint, options, true, 490);

Я также проверилон использовал 490m в качестве tolerance и вернул true, когда currentPoint находился в пределах расстояния, а затем false, когда currentPoint был вне диапазона от координат в options.

0 голосов
/ 16 февраля 2019

Сначала создайте полилинию вот так

PolylineOptions options = new PolylineOptions().geodesic(true);
options.add(new com.google.android.gms.maps.model.LatLng(-35.016, 143.321));
options.add(new com.google.android.gms.maps.model.LatLng(-34.747, 145.592));
// Add all remaining points
Polyline line = mgGoogleMap.addPolyline(options);

Теперь вы можете проверить, находится ли ваша точка на полилинии, вот так:

PolyUtil.isLocationOnPath(currentPoint, line.getPoints(), true)
// The true here refers to geodesic true.
...