我想创建应用程序以使用 GIS 形状文件(.shp)显示离线地图,任何人都知道如何使用形状文件在 android 中显示地图。
提前致谢
如果您从 SD 卡加载数据,您可以使用 openmap,它有一个 SHapefile 类,并尝试将您的 shapefile 转换为图形层,我已经完成了。
static public GraphicsLayer SHPtoPOINT(String shpfile) {
SpatialReference lSR = SpatialReference.create(26192);
Envelope lEnvolope = getSHPEnvelope(shpfile);//to create an extent for your graphics layer
GraphicsLayer graphicLayer = new GraphicsLayer(lSR, lEnvolope);
try {
File file = new File(shpfile);
ShapeFile shp = new ShapeFile(file);
ESRIPointRecord e = (ESRIPointRecord) shp.getNextRecord();
SimpleMarkerSymbol c_point = new SimpleMarkerSymbol(Color.BLACK, 1,
STYLE.CIRCLE);
while (e != null) {
graphicLayer.addGraphic(new Graphic(new Point(e.getX(), e.getY()), c_point));
e = (ESRIPointRecord) shp.getNextRecord();
}
shp.close();
} catch (IOException e1) {
e1.printStackTrace();
}
return graphicLayer;
}
编辑:
BBN Technologies 的 OpenMap TM 包是一个基于开源 JavaBeans TM 的程序员工具包。使用 OpenMap,您可以快速构建访问旧数据库和应用程序数据的应用程序和小程序。OpenMap 提供了允许用户查看和操作地理空间信息的方法。