不同的LatLng进口商品

问题描述 投票:0回答:1

我在使用LatLng时遇到类型冲突。尽管此问题不会阻止应用程序正常运行,但我想优化导入。

我这样输入LatLng:

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

我可以像tis一样成功使用导入的LatLng:

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

但是使用Directions 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());

[当我这样做时,我自然会收到错误:Type conflict

我该如何解决此冲突?

谢谢你。

android google-maps google-api importerror directions
1个回答
0
投票

我不确定这是否是您所需要的,您可以编写一个静态方法来转换类型:

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()));
© www.soinside.com 2019 - 2024. All rights reserved.