-1

我正在尝试使用 Elasticsearch 中的一些索引文件来构建和应用 ReactiveSearch 和 ReactiveMaps。

Elasticsearch 中的索引文件有一个字段“位置”,例如:

        "location": {
        "Lat": 56.746423,
        "Lon": 37.189268
      }

以及“标题”或“作者”等其他字段。

我有一个谷歌地图 API 密钥,在我的 App.js 文件中我有这些组件:

      <DataSearch
        componentId="mainSearch"
        dataField={["Title", "Title.search", "Abstract", "Abstract.search"]}
        queryFormat="and"
        placeholder="Search for HEP"
        autosuggest={true}
        className="datasearch"
        innerClass={{
          input: "searchbox",
          list: "suggestionlist"
        }}
      />

        <ReactiveMap
        componentId="map"
        dataField="location"
        size={100}
        defaultZoom={13}
        defaultCenter={{ lat: 37.74, lng: -122.45 }}
        showMapStyles={true}
        defaultMapStyle="Standard"
        showMarkerClusters={true}
        showSearchAsMove={true}
        searchAsMove={true}
        react={{
          and: "mainSearch"
        }}
        onData={result => ({
          label: result.Title
        })}
      />

在同一个文件(“App.js”)中,我有以下几行:

  <ReactiveBase
    app="title"
    url=here_the_elasticsearch_cluster
    mapKey="here_my_googlemapsAPI_key"
  >

同样在文件 Public/index.html 我有

<script
  type="text/javascript"
  src="https://maps.google.com/maps/api/js?v=3.34&key=MY_GOOGLE_MAPS_API_KEY&libraries=places"
></script>

但是,当我在 mainBar 中搜索任何文档时,我找到了它,但是,当我单击它时,它并没有出现在地图中。

我究竟做错了什么?

4

1 回答 1

0

最后我已经解决了。ReactiveMaps 不允许 location 字段为大写,因此我必须在考虑到这一点的情况下更改 elasticsearch 中的索引文档。

    "location": {
    "lat": 56.746423,
    "lon": 37.189268
  }
于 2019-04-01T13:09:04.660 回答