【问题标题】:Search around a given location with Algolia on Android在 Android 上使用 Algolia 在给定位置搜索
【发布时间】:2018-03-02 23:21:14
【问题描述】:

我正在开发一个使用 Google 地图的导航应用程序。我正在尝试使用该应用程序实现“我附近的用户位置”。

我想使用 Algolia 服务来使用 GeoFire 和 Android 和 Firebase 搜索地理位置。

我已经成功地将经纬度信息存储在我的 Algolia 索引中,并参考了他们的文档指南。

但我不明白如何在不输入地名或任何地址的情况下根据当前位置自动获取列表并映射位置(如在 algolia 即时搜索的示例项目中)。这是我当前的代码:

com.algolia.search.saas.Query query = new com.algolia.search.saas.Query().setAroundLatLng(new com.algolia.search.saas.Query.LatLng(lat,lng)).setAroundRadius(5000);

index.searchAsync(query, new CompletionHandler() {
     @Override
     public void requestCompleted(JSONObject jsonObject, AlgoliaException e) {

     }
});

【问题讨论】:

    标签: android google-maps firebase-realtime-database algolia android-studio-2.3


    【解决方案1】:

    您面临的问题是什么?你被阻止下一步做什么?您在requestCompleted 中获得的 jsonObject 将类似于:

    {
      "hits": [
        {
          "firstname": "Jimmie",
          "lastname": "Barninger",
          "objectID": "433",
          "_highlightResult": {
            "firstname": {
              "value": "<em>Jimmie</em>",
              "matchLevel": "partial"
            },
            "lastname": {
              "value": "Barninger",
              "matchLevel": "none"
            },
            "company": {
              "value": "California <em>Paint</em> & Wlpaper Str",
              "matchLevel": "partial"
            }
          }
        }
      ],
      "page": 0,
      "nbHits": 1,
      "nbPages": 1,
      "hitsPerPage": 20,
      "processingTimeMS": 1,
      "query": "jimmie paint"
    }
    

    在 Java 中,您可以像 jsonObject.getObject("hits") 一样访问它。

    您使用的是 instantsearch-android 还是 algoliasearch-client-android ?您应该使用instantsearch-android 之一,更容易将搜索与您的用户界面联系起来。 Here's GoogleMaps 示例。

    【讨论】:

    • 非常感谢兄弟的回复。我的问题是基于我的位置 lat lng 搜索附近的位置。在 qiven 示例中,通过在搜索栏中输入来完成搜索,但我需要的是按我当前的位置进行搜索。我已成功接收 lat lng。
    • 当我为 Instantsearch 运行示例应用程序时,我在 icebnb 上收到此错误错误:(53, 17) 错误:registerResultListener(AlgoliaResultsListener) 在 Searcher 中不公开;无法从外部包访问
    • 我明白了。您如何将 sdk 与 gradle 集成?确实,在某些时候,registerResultListener(AlgoliaResultsListener) 未公开存在问题,但已修复 here
    • 但是你想对结果做什么?在地图、列表等上显示它​​们?
    • 我的问题是根据我当前的位置自动获取列表并映射位置(如在 algolia 即时搜索的示例项目中),而无需输入地名或任何地址。而已。请兄弟帮助我。 :)
    猜你喜欢
    • 1970-01-01
    • 2016-04-30
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多