我在使用 LatLng 时遇到一些类型冲突。 虽然这个问题不会阻止应用程序正常运行,但我想优化导入。
我像这样导入 LatLng:
import com.google.android.gms.maps.model.LatLng;
我可以成功使用导入的 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
如何解决此冲突?
提前谢谢您。
最佳答案
我不确定这是否是您需要的,您可以编写一个静态方法来转换类型:
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
来环绕解码
:
List<LatLng> decodedPath = convertCoordType(PolylineEncoding.decode(route.overviewPolyline.getEncodedPath()));
关于android - 不同的 LaLng 进口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60245464/