开发 AIoT 智能眼镜SDK 开发指南 LBS 智能体服务 导航类

导航类 最后更新时间: 2026年05月27日

输出数据协议说明

Query分类

对话轮次

Query

结果返回

搜索指令

首次

“帮我找下最近的XXX”、“帮我找下附近的XXX”、“帮我找一下XXX”、“我要去XXX”、“我想去XXX”、“规划到xxx的路线”、“怎么走路去XXX?”、“去XXX走路怎么走?”、“怎么开车去XXX?”

总结信息

CMD(算路 & 导航)

Components(起终点、途径点、路线、出行方式、算路策略)

多轮

(三方兼容)

已为您找到xxx,选择第几个?

“第一个”、“第二个”

已为您选中第一个,是否开始导航?

“是、“否”

示例代码

/**
 *
 * @param content 输入的内容
 */
private void queryCurrentLocationTest(String content)
{

    AMapAgentQueryParam param = new AMapAgentQueryParam();
    param.queryText = content;

    /*&
        支持第二轮搜索要加
     */
    if (mCurrentPoiResult != null)
    {
        Log.e(TAG, "append query text: queryCurrentLocationTest mCurrentPoiResult = " + mCurrentPoiResult);
        param.selectedObject = mCurrentPoiResult;
        param.lastActionType = AMapAgentQueryResult.ActionType.SEARCH_POI;
    }
    else if (mRoutePOIItemList != null)
    {
        Log.e(TAG, "append query text: queryCurrentLocationTest mRoutePOIItemList = " + mRoutePOIItemList.size());
        param.selectedObject = mRoutePOIItemList;
        param.lastActionType = AMapAgentQueryResult.ActionType.ROUTE_SEARCH;
    }

    String sessionId = mAMapApi.getAgentClient().query(param);
    Log.e(TAG, "append query text: " + content + ", sessionId: " + sessionId);
}

/**
 *  查询结果,返回监听
 */
private AMapAgentCallback mAMapAgentCallback = new AMapAgentCallback()
{
    @Override
        public void
        onQueryResult(AMapAgentQueryResult queryResult)
    {

        HashMap<Integer, AMapNaviPath> hashMapAmapPath;
        List<PoiItem> poiItemV2List = new ArrayList<>();
        List<AMapNaviPath> pathListData = new ArrayList<>();

        AgentData data = new AgentData();

        String time = DataUtils.getTime();
        Log.e(TAG, "onQueryResult time: " + queryResult.endPoiName);
        Log.e(TAG, "onQueryResult: " + queryResult.sessionId + ", taskId: " + queryResult.taskId + ", sequence: " + queryResult.sequence);
        Log.e(TAG, "onQueryResult type: " + queryResult.actionType + ", stateType: " + queryResult.stateType + ", resultType: " + queryResult.resultType);
        Log.e(TAG, "onQueryResult summary: " + queryResult.summary);
        Log.e(TAG, "onQueryResult endPoiName: " + queryResult.endPoiName);

        mCurrentPoiResult = null;
        mRoutePOIItemList = null;

        if (queryResult.resultObj != null)
        {
            Log.e(TAG, "onQueryResult resultObj: " + queryResult.resultObj.getClass().getSimpleName() + "   " + queryResult.actionType);

            if (queryResult.actionType == AMapAgentQueryResult.ActionType.SEARCH_POI)
            { // 搜索poi

                mCurrentPoiResult = (PoiResultWrapper)queryResult.resultObj;
                poiItemV2List = mCurrentPoiResult.getPoiItemV2List();
            }
            else if (queryResult.actionType == AMapAgentQueryResult.ActionType.SELECT_POI_WORK_FLOW)
            { // 选点

                mCurrentPoiResult = (PoiResultWrapper)queryResult.resultObj;
                poiItemV2List = mCurrentPoiResult.getPoiItemV2List();
            }
            else if (queryResult.actionType == AMapAgentQueryResult.ActionType.ROUTE_SEARCH)
            { // 顺路搜

                mRoutePOIItemList = (List<RoutePOIItem>)queryResult.resultObj;
            }
            else if (queryResult.actionType == AMapAgentQueryResult.ActionType.REQUEST_ROUTE)
            {

                hashMapAmapPath = (HashMap<Integer, AMapNaviPath>)queryResult.resultObj;
                for (Map.Entry<Integer, AMapNaviPath> entry : hashMapAmapPath.entrySet())
                {
                    AMapNaviPath value = entry.getValue();
                    Log.e(TAG, "aMapNaviPath = value   " + value.getLabels());
                    pathListData.add(value);
                }
            }
        }
    }
};

返回顶部 示例中心 常见问题 智能客服 公众号
二维码