Questa sezione spiega come recuperare posizioni riproducibili e contiene anche esempi che mostrano come chiamare le API.
Recupero dei luoghi riproducibili in corso...
Puoi recuperare gruppi di luoghi giocabili on demand mentre i giocatori progrediscono nel gioco. Non recuperi e poi memorizzi nella cache un set di dati di grandi dimensioni per utilizzarlo per un periodo prolungato.
Puoi ottenere una serie di posizioni riproducibili chiamando il metodo samplePlayableLocations
. Nella chiamata, devi specificare l'area in cui eseguire la ricerca e anche i criteri di filtro. Il metodo samplePlayableLocations
restituisce un insieme di oggetti
PlayableLocation
che contiene sia posizioni riproducibili selezionate sia posizioni riproducibili generate.
La richiesta HTTP
Il codice seguente mostra come chiamare il metodo samplePlayableLocations
effettuando una richiesta POST HTTP, passando i parametri nel corpo della richiesta.
POST https://playablelocations.googleapis.com/v3:samplePlayableLocations?key=YOUR_API_KEY
Corpo della richiesta
Quando chiami il metodo samplePlayableLocations
, passi i parametri di chiamata utilizzando un oggetto JSON nel corpo della richiesta HTTP.
{
"areaFilter": {
"s2CellId": string,
},
"criteria": [
{
"gameObjectType": number,
"filter": {
"maxLocationCount": number,
"spacing": {
"minSpacingMeters": number,
"pointType": enum(PointType)
},
"includedTypes": [
string
],
},
"fieldsToReturn": string
}
]
}
Il modello a oggetti della richiesta
Le relazioni tra gli oggetti secondari JSON sono illustrate nell'illustrazione seguente.
Esempio 1: corpo della richiesta
Il seguente esempio di codice dimostra
filters
e
fields_to_return
.
{
"area_filter":{
"s2_cell_id":7715420662885515264
},
"criteria":[
{
"gameObjectType":1,
"filter":{
"maxLocationCount":4,
"includedTypes":[
"food_and_drink"
]
},
"fields_to_return": {"paths": ["name"]}
},
{
"gameObjectType":2,
"filter":{
"maxLocationCount":4
},
"fields_to_return": {"paths": ["types", "snapped_point"]}}
]
}
Esempio 2: corpo della richiesta
Il seguente esempio di codice mostra maxLocationCount
per vari tipi di oggetti.
{
"area_filter":{
"s2_cell_id":7715420662885515264
},
"criteria":[
{
"gameObjectType":1,
"filter":{
"maxLocationCount":4,
"spacing":{
"minSpacingMeters":500
}
}
},
{
"gameObjectType":2,
"filter":{
"maxLocationCount":4,
"spacing":{
"minSpacingMeters":400
}
}
},
{
"gameObjectType":3,
"filter":{
"maxLocationCount":50,
"spacing":{
"minSpacingMeters":200
}
}
}
]
}