博中自有黄金屋 2020-11-04 16:59 采纳率: 0%
浏览 77

百度地图sdk 关于poiResult poiInfo 的问题,搜索出的poi点 type为空。

关于poi城市的检索
我检测了一个地铁站点但是这个poi.type字段一直为null

代码和往上一个老兄问题的类似:

public  void ButtonClick(){
    exp_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           edit=exp_edit.getText().toString();
           poiSearch.searchInCity((new PoiCitySearchOption().city("厦门").keyword(edit)));  //城市范围内搜索 关键字, 但搜索返回的结果 地点好像没有带有类型。

        }
    });
}
OnGetPoiSearchResultListener poiListener =new OnGetPoiSearchResultListener() {
    @Override
    public void onGetPoiResult(PoiResult poiResult) {
        List<String>data=new ArrayList<String>();
        if (poiResult==null || poiResult.error== SearchResult.ERRORNO.RESULT_NOT_FOUND)
        {
            Toast.makeText(ExpActivity.this, "未找到结果", Toast.LENGTH_SHORT).show();
            return;
        }
        if (poiResult.error==SearchResult.ERRORNO.NO_ERROR){

            for (int i=0;i<poiResult.getAllPoi().size();i++){
                PoiInfo poiInfo=poiResult.getAllPoi().get(i);
                data.add(poiInfo.name);
                if (poiInfo.type==PoiInfo.POITYPE.BUS_STATION){
                    Toast.makeText(ExpActivity.this,"搜索到公交线路了!!", Toast.LENGTH_LONG).show();
                    busLindId=poiInfo.uid;
                }
                if (poiInfo.type==null){
                    Toast.makeText(ExpActivity.this,"为何没有类型",Toast.LENGTH_LONG).show();  //执行程序时 显示的是这一提示。
                }
            }
            }
            exp_list.setAdapter(new ArrayAdapter<String>(ExpActivity.this,android.R.layout.simple_list_item_1,data));


    }
  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-24 22:02
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在使用百度地图SDK进行poi城市的检索时,如果发现某些地点的poi.type字段为null,可能是因为该地点没有被正确分类或者该信息未被收录。在你提供的代码中,你可以通过以下方法解决这个问题:
    1. 确保在调用搜索功能时添加正确的城市范围和关键字:在调用searchInCity方法时,确保提供正确的城市名和关键字,以确保搜索结果的准确性。
    2. 检查PoiInfo对象的其他属性:除了poi.type之外,还可以查看PoiInfo对象的其他属性来获取更多有关地点的信息,例如name、location等。
    3. 对于无法获取poi.type的地点,可以根据其他信息进行处理:如果无法获取poi.type字段,可以根据地点的其他属性来进行处理,例如显示地点名称或者其他信息。
    4. 考虑更新地图SDK或者联系官方技术支持:如果以上方法无法解决问题,可以考虑更新地图SDK到最新版本或者联系百度地图SDK的官方技术支持寻求帮助。 案例: 假设你搜索到一个地点名为"广场",但是该地点的poi.type为null,你可以修改代码如下:
    if (poiInfo.type == null) {
        Toast.makeText(ExpActivity.this, poiInfo.name + ",类型未知", Toast.LENGTH_LONG).show();
    }
    

    通过这样的修改,你可以在搜索结果中显示地点的名称,并提示用户该地点的类型未知。 希望这些方法能帮助你解决poi城市检索中poi.type为null的问题。如果有其他问题或者需要进一步帮助,请随时告诉我。

    评论

报告相同问题?