English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Versione 19.0.7400
  • Miglioramenti

CMP: Google Maps e PlaceID

link

Descrizione

La licenza d'uso di Google Maps vieta di memorizzare i dati ottenuti tramite le chiamate di geodecodifica. Pertanto non è permesso memorizzare le coordinate Latitudine e Longitudine ottenute tramite il servizio di geodecodifica di un indirizzo (vedi metodo GeocodeAddress della classe GoogleMaps).

L'unico dato che è possibile memorizzare è il placeID:

  • "Place IDs uniquely identify a place in the Google Places database and on Google Maps"
  • "Place IDs are exempt from the caching restrictions stated in Section 3.2.4(a) of the Google Maps Platform Terms of Service"

Google indica che non è permesso memorizzare le coordinate (latitudine e longitudine) ma è possibile memorizzare il placeID. Poi dice che occorre usare il servizio di Place Detail per ottenere le coordinate dato un placeID.

Pertanto, a partire dalla versione 19.0, è stata aggiunta la proprietà PlaceID alla classe GeoPoint. Tale proprietà viene valorizzata dalle funzioni di geodecodifica.

Esempio di geodecodifica

GeoPoint gp = GoogleMap.GeocodeAddress("Via Rivani 99 Bologna")
//
// La lincenza d'uso di Google Maps non ammette che vengano salvate le coordinate
MyApp.DTTLogMessage(gp.Latitude)
MyApp.DTTLogMessage(gp.Longitude)
// 
// Il placeID è l'unico dato escluso dalle restrizioni di caching

MyApp.DTTLogMessage(gp.PlaceID) // ChIJhyppWmwrfkcRMRwtFd-nHz0

PlaceID -> coordinate

GeoPlace gp = new()
gp.PlaceID = "ChIJhyppWmwrfkcRMRwtFd-nHz0"
gp.GetDetail(...)
MyApp.DTTLogMessage(gp.Latitude)
MyApp.DTTLogMessage(gp.Longitude)

Funzionalità interessate

Gestione delle coordinate con Google Maps.

Note

  • Miglioramento relativo a questo thread del forum.

Ultima modifica: 24/03/2021 / Validità: da 19.0.7400

Vedi anche

    Licenza d'uso di Google Maps
    Place ID
    Place Detail Refresh

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum