从supermap网站上下载iserver,并启动服务。
android iserver服务查询代码如下,
QueryService service = new QueryService("http://192.168.0.68:8090");//iserver的Url
ServiceQueryParameter parameter = new ServiceQueryParameter();parameter.setQueryMapName("世界地图");//查询地图的地图名称
parameter.setQueryServiceName("map-world/rest");//查询的服务的实例的服务名称
parameter.setQueryLayerName("CountryLabel@World");//查询的图层的名称
parameter.setExpectRecordCount(1);//查询记录个数
parameter.setQueryRecordStart(0);//查询记录的起始位置
parameter.setQueryOption(QueryOption.ATTRIBUTE);//查询结果内容类型
parameter.setAttributeFilter("smid=1");//查询条件
service.setResposeCallback(new ResposeCallback()
{
@Override
public void requestSuccess()
{
}
@Override
public void requestFaild(String arg0)
{
}
@Override
public void receiveRespose(FeatureSet arg0)
{
if (arg0 instanceof FeatureSet) {
FeatureSet featureSet = (FeatureSet)arg0;
featureSet.moveFirst();
while (!featureSet.isEOF()) {
Geometry geo = featureSet.getGeometry();
if (geo == null) {
featureSet.moveNext();
continue;
}
Log.e("test","geo=="+geo.toJson());
}
}else{
Log.e("test", "arg0weikong");
}
}
@Override
public void connectSuccess()
{
Log.e("test", "4");
}
@Override
public void connectFaild()
{
Log.e("test", "5");
}
});
service.query(parameter, QueryMode.SqlQuery);//以SQL查询
用之前的开发包,有Bug,对iserver查询字段是时间和int类型如果是空报错,已经改正。