在 Android 上使用 Algolia 搜索指定位置

Search around a given location with Algolia on Android

我正在开发一个使用 Google 地图的导航应用程序。我正在尝试使用应用程序实现 "my nearby user location"。

我想使用 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) {

     }
});

您遇到的问题是什么?您是否对下一步做什么感到困惑?您在 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 or algoliasearch-client-android ? You should use the instantsearch-android one, is easier to link the search with your UI. Here's Google 地图示例。