KML 图层未显示在谷歌地图中



我在谷歌地图中显示某些KML时遇到问题,碰巧在通过方法addLayerToMap后,它没有在地图上呈现。

有趣的是,当我在Google MyMaps中步进它时,同样可以正常工作,即使我从那里导出并设置为显示在应用程序的Google地图中,它也会正常显示。

我注意到 MyMaps 极大地改变了 KML 的结构,它甚至更小(行数和大小(。

KML 文件(原始(:https://drive.google.com/file/d/1Z4AZMP1xNMgVNNXjK11-kD0gwlPLmJmR/view?usp=sharing

PS:在无效的图像路径上,我手动更改了,没有结果。

KML文件(由Google MyMaps解析(:https://drive.google.com/file/d/1WPT3ZogzjTNa9ITeZze1cYf3ly4JFpUZ/view?usp=sharing

我用来读取KML的方法(适用于我尝试过的大多数KML,包括Google自己的示例(:

private void retrieveFileFromResource() {
try {
KmlLayer kmlLayer = new KmlLayer(mMap, R.raw.teste3, getActivity());
kmlLayer.addLayerToMap();
moveCameraToKml(kmlLayer);
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}

我正在尝试手动将组件添加到地图(折线、多边形、标记等(,但没有成功。

尝试使用以下代码检查文件夹中是否存在 KML 文件,如果存在,请在 Google 地图中显示它们。

private void retrieveFileFromResources()
{
try
{
int check = this.getResources().getIdentifier(teste3,"folder name", this.getPackageName());
if(check != 0)
{
InputStream inputstream = this.getResources().openRawResource(this.getResources().getIdentifier(teste3,"folder name",this.getPackageName()));
KmlLayer kmlLayer = new KmlLayer(mMap, inputStream, getApplicationContext());
kmlLayer.addLayerToMap();
}
else
{
Toast.makeText(this,"Request KML Layer not available",Toast.LENGTH_LONG).show();
}
}catch(IOException e)
{
e.printStackTrace();
}
catch(XmlPullParseException e)
{
e.printStackTrace();
}
}

最新更新