首页 / 浏览问题 / 移动GIS / 问题详情
导入Kml文件后程序会自动定位到kml路线的位置吗
58EXP 2023年02月16日
您好,我在导入kml文件后,如何让界面定位到kml文件的起始位置,或者程序是否偶这个功能

1个回答

您好,参考如下代码设置

Camera camera = new Camera();
camera.setLongitude(scene.getLayers().get(0).getBounds().getCenter().getX());设置从kml图层获取的中心点x坐标
camera.setLatitude(scene.getLayers().get(0).getBounds().getCenter().getY());设置从kml图层获取的中心点y坐标
camera.setAltitude(100);设置高度100米
scene.setCamera(camera);设置场景视角
3,745EXP 2023年02月16日

您好我现在是在二维场景中导入的Kml文件,请问我用下面代码导入后,如果将镜头放在kml处

//设置Kml数据源
DatasourceConnectionInfo KMLconnectionInfo = new DatasourceConnectionInfo();
KMLconnectionInfo.setAlias("kml");
KMLconnectionInfo.setDriver("WMTS");
kmlDataSource = m_mapControl.getMap().getWorkspace().getDatasources().create(KMLconnectionInfo);
try {
    if (kmlDataSource.getDatasets().get("mykml3") != null){
        boolean d = kmlDataSource.getDatasets().delete("mykml3");
        Log.d(ContentName.TAG,"已有KML,删除");
    }
    boolean kml = DataConversion.importKML( kmlPath,kmlDataSource,"mykml3",true);

    if (kml == true){
        m_mapControl.getMap().getLayers().add(kmlDataSource.getDatasets().get(0),true);
        Looper.prepare();
        Toast.makeText(MapCenterActivity.this, "导入kml格式文件成功", Toast.LENGTH_SHORT).show();
        Looper.loop();

    } else {
        Toast.makeText(MapCenterActivity.this, "导入kml格式文件失败", Toast.LENGTH_SHORT).show();
    }
}catch (Exception e){
    e.printStackTrace();
}
地图中使用map.setViewBounds与dataset.getBounds即可
...