1
我有我的ARCGIS android应用程序显示折线shapefile文件 - 在这种情况下是一个漫游网络。Android ARCGIS形状文件标注折线
形状文件具有包含道路“ROAD_NAME”的名称字段 - 这个问题我已经是如何创建一个层有路名自动显示
欢呼
B'
我有我的ARCGIS android应用程序显示折线shapefile文件 - 在这种情况下是一个漫游网络。Android ARCGIS形状文件标注折线
形状文件具有包含道路“ROAD_NAME”的名称字段 - 这个问题我已经是如何创建一个层有路名自动显示
欢呼
B'
我也尝试在地图上显示标签 通过我的实验,有两种方式,我意识到了它的一种方法是在地图上以编程方式绘制这些标签,但它需要很多努力。它,这不是很漂亮,我认为是这样,
public class LabelLayer extends GraphicsLayer {
...
private void showLabel(final FeatureLayer fly, final QueryParameters query,final String labelField) {
new Thread(new Runnable() {
@Override
public void run() {
fly.getFeatureTable().queryFeatures(query, new CallbackListener<FeatureResult>() {
@Override
public void onCallback(FeatureResult objects) {
Iterator<Object> fet=objects.iterator();
while (fet.hasNext()){
Feature f=(Feature) fet.next();
Geometry geom= f.getGeometry();
Point p=null;
switch (geom.getType()){
case POINT:p=(Point)geom;break;
case POLYLINE: Polyline polyline=(Polyline)geom;break;
case POLYGON: p= GeometryEngine.getLabelPointForPolygon((Polygon)geom,mapView.getSpatialReference());break;
default:break;
}
txtSymbol.setFontWeight(FontWeight.BOLD);
txtSymbol.setColor(Color.DKGRAY);
txtSymbol.setText(f.getAttributeValue(labelField).toString());
Graphic gr = new Graphic(p, txtSymbol);
LabelLayer.this.addGraphic(gr);
}
}
@Override
public void onError(Throwable throwable) {
}
});
}
}).start();
}
...
}
这个类应该在onDraw()方法中实现。 第二个是使用ArcGIS的tpk。 我认为这会更好。