The MapLocationDistance Criterion class.
Provides content filtering based on distance from geographical location.
Properties¶
$operator¶
The operator used by the Criterion.
|
|
$target¶
The target used by the criteria (field, metadata...).
|
|
$value¶
The value(s) matched by the criteria.
|
|
$valueData¶
Additional value data, required by some criterions, MapLocationDistance for instance.
|
|
$boost¶
|
|
$customFields¶
Custom field definitions to query instead of default field.
|
|
Methods¶
__construct() ¶
Performs operator validation based on the Criterion specifications returned by {@see getSpecifications()}.
|
|
Parameters
Name | Type | Default value | Description |
---|---|---|---|
$target | string | - |
FieldDefinition identifier |
$operator | string | - |
One of the supported Operator constants |
$distance | float|array<string|int, float> | - |
The match value in kilometers, either as an array or as a single value, depending on the operator |
$latitude | float | - |
Latitude of the location that distance is calculated from |
$longitude | float | - |
Longitude of the location that distance is calculated from |
getCustomField() ¶
Return custom field.
|
|
If no custom field is set, return null
Parameters
Name | Type | Default value | Description |
---|---|---|---|
$type | string | - | - |
$field | string | - | - |
Return values
string|null
getSpecifications() ¶
Criterion description function.
|
|
Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects
- Operator is one supported Operator, as an Operator::* constant
- ValueType is the type of input value this operator requires, either array or single
- SupportedTypes is an array of types the operator will accept
- ValueCountLimitation is an integer saying how many values are expected.
// IN and EQ are supported
return [
// The EQ operator expects a single value, either as an integer or a string
new Specifications(
Operator::EQ,
Specifications::FORMAT_SINGLE,
Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
),
// The IN operator expects an array of values, of either integers or strings
new Specifications(
Operator::IN,
Specifications::FORMAT_ARRAY,
Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
)
]
Return values
array<string|int, Specifications>
setCustomField() ¶
Set a custom field to query.
|
|
Set a custom field to query for a defined field in a defined type.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
$type | string | - | - |
$field | string | - | - |
$customField | string | - | - |