ArcGIS Maps SDK for .NET MAUI添加FeatureLayer搜索及控件引用问题咨询
问题解答
1. 搜索框未显示的排查方向
你的XAML中使用了toolkit:SearchView,先确认以下几点:
- 已在XAML头部添加Toolkit命名空间声明,示例:
xmlns:toolkit="clr-namespace:Esri.ArcGISRuntime.Toolkit.Maui;assembly=Esri.ArcGISRuntime.Toolkit.Maui" - 检查Grid的行定义,确认
Grid.Row="0"的行有足够高度,且未被其他控件遮挡 - 确认已安装
Esri.ArcGISRuntime.Toolkit.MauiNuGet包
2. 自定义FeatureLayer搜索的实现
仅修改_geolocator URI无法直接实现对自定义FeatureLayer的搜索。默认LocatorTask调用的是ArcGIS Online地理编码服务,仅支持地址/地名类搜索。要搜索自己托管的FeatureLayer,需要:
- 针对目标FeatureLayer创建
QueryTask - 将搜索框输入的文本作为属性查询条件,调用QueryTask执行查询
- 处理并展示查询到的Feature结果
3. 控件启用代码的引用缺失问题
代码中MySearchBox、MyLocationBox等控件报错,需排查:
- 这些控件已在XAML中正确定义(如
Entry、Button类型),且命名与后台代码完全一致 - 若为Toolkit控件,确认已添加对应命名空间引用
- 若提示“找不到类型”,检查是否遗漏相关NuGet包(基础MAUI控件无需额外引用,Toolkit控件需对应包)
补充:你的XAML代码注意点
toolkit:SearchView绑定GeoView后,还需在后台代码中设置LocatorTask才能正常工作,示例:
MainSearchView.LocatorTask = new LocatorTask(new Uri("你的地理编码服务地址"));
内容的提问来源于stack exchange,提问作者james
相关产品推荐
相关产品推荐

