首页 / 浏览问题 / 组件GIS / 问题详情
iObject坐标查询
2EXP 2024年11月27日
希望实现一个功能,输入坐标值(经纬度),能知道这个坐标值在哪个行政区内,地图上也高亮显示该行政区图斑

1个回答

您好,查询您可以使用空间查询接口,Datasetvector.query,高亮您可以将对象加入选择集selection或者将对象加入跟踪图层trackinglayer。

希望可以帮助到您。
10,758EXP 2024年11月27日

OK,已经解决了,在Datasetvector.query里设置空间查询参数SpatialQueryMode就行了

GeoPoint search_point = new GeoPoint(longitude, latitude);
DatasetVector xian_vec=this._workspace.Datasources["四川省_县"].Datasets["四川省_县"] as DatasetVector;
QueryParameter query_param = new QueryParameter();
query_param.SpatialQueryMode=SpatialQueryMode.Within;
query_param.SpatialQueryObject=search_point;
Recordset search_result=xian_vec.Query(query_param);
if (search_result.RecordCount > 0 && this._mapControl.Map.Layers.Count>0)
{
    this._mapControl.Map.Layers["四川省_县@四川省_县#1"].Selection.FromRecordset(search_result);    
}
query_param.Dispose();
search_result.Dispose();

非常感谢

...