2

我发现 sanity 支持Geopoint 类型,但是如果可以对这种类型进行任何过滤操作,我找不到任何信息。地理空间查询可能吗?

4

1 回答 1

1

路线图上有更简单的地理空间查询语法。

例如,如果您想要进行 Lat/Lng 有界查询,您可以按照以下方式进行,给定架构:

export default {
   name: 'aDocumentType',
   type: 'document',
   fields: [
    {
       name: 'position',
       type: 'geopoint'
    }
   ]
}

假设我们使用了 Mapbox,并且有一个LngLatBounds对象。现在我们可以使用映射到该对象的参数进行查询:

*[
  _type == "aDocumentType &&
  position.lng < $bounds._ne.lng &&
  position.lat < $bounds._ne.lat &&
  position.lng > $bounds._sw.lng &&
  position.lat > $bounds._sw.lat &&
]
于 2019-02-26T14:05:34.977 回答