Можно ли делать геопространственные запросы в sanity.io?
Я обнаружил, что sanity поддерживает тип Geopoint, но я не смог найти никакой информации, если возможно выполнить какую-либо операцию фильтра для этого типа. Возможны ли геопространственные запросы?
1 ответ
Более простой синтаксис для геопространственных запросов находится на дорожной карте.
Если, например, вы хотите сделать ограниченный по широте / долготе запрос, вы можете сделать это следующим образом, учитывая схему:
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 &&
]