Различный импорт LatLng - PullRequest
       37

Различный импорт LatLng

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

У меня конфликт типа при использовании LatLng. Хотя эта проблема не препятствует запуску приложения без каких-либо проблем, я хочу оптимизировать импорт.

Я импортирую LatLng следующим образом:

import com.google.android.gms.maps.model.LatLng;

Я могу успешно использовать импортированный LatLng, как это :

private LatLng[] places = {new LatLng(xx.xxxx, xx.xxxx)
};

Однако после использования API направлений и использования полученного маршрута:

List<com.google.maps.model.LatLng> decodedPath = PolylineEncoding.decode(route.overviewPolyline.getEncodedPath());

Функция декодирования принадлежит PolylineEncoding. java, когда я проверяю исходный код и выполняю поиск для импорта LatLng я сталкивался с импортом:

import com.google.maps.model.LatLng;

, который отличается от моего первоначального импорта

import com.google.android.gms.maps.model.LatLng;

Моя цель здесь заключается в том, чтобы использовать LatLng следующим образом:

List<LatLng> decodedPath = PolylineEncoding.decode(route.overviewPolyline.getEncodedPath());

Когда я это делаю, я получаю сообщение об ошибке (естественно): Конфликт типов

Как мне разрешить этот конфликт?

Заранее спасибо.

1 Ответ

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

Я не уверен, что это то, что вам нужно, вы можете просто написать метод stati c для преобразования типа:

static List<com.google.maps.model.LatLng> convertCoordType(List<com.google.android.gms.maps.model.LatLng> list) {
  List<com.google.maps.model.LatLng> resultList = new ArrayList<>();
  for (com.google.android.gms.maps.model.LatLng item : list) {
    resultList.add(new com.google.maps.model.LatLng(item.latitude, item.longitude));
  }
  return resultList;
}

Затем вызвать convertCoordType, чтобы обернуть decode:

List<LatLng> decodedPath = convertCoordType(PolylineEncoding.decode(route.overviewPolyline.getEncodedPath()));
...