Autore Topic: app che sfrutta le mappe di google  (Letto 3929 volte)

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
app che sfrutta le mappe di google
« il: 13 Gennaio 2011, 18:14:37 CET »
0
Salve a tutti!!Mi sono appena avvicinato ad Android e vorrei creare una app che mi permetta di effettuare delle ricerche specifiche sulle mappe.Quali ad esempio le pizzerie che sono presenti in un raggio di 3 km dalla mia posizione.Come posso fare?Nella documentazione non ho trovato molto e l'unica idea che ho avuto era quella di utilizzare il getFromLocationName() ma non riesco ad effettuare le Query adatte.Potreste aiutarmi?mi basta anche sapere dove posso reperire della documentazione da leggere in merito al problema grazie.

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #1 il: 20 Gennaio 2011, 19:49:09 CET »
0
sto cercando la stessa cosa, dicono che google luoghi lo faccia ma quindi secondo te va creato un intent che chiami 1applicazione esterna?

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #2 il: 21 Gennaio 2011, 09:03:35 CET »
0
L'idea mia non era di usare una app che sfrutti google luoghi ma era di capire come poter ricavare informazioni interrogando le mappe tramite delle query o altri metodi per capire come funziona il tutto.I tutorial che si trovano spiegano poco in merito come il libro di massimo carli.Se qualcuno ha qualche idea o può dare qualche  info è il benvenuto
« Ultima modifica: 27 Gennaio 2011, 15:45:04 CET da michelegrammichele »

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #3 il: 21 Gennaio 2011, 10:09:08 CET »
0
dopo qualche ricerca posso dire di aver trovato forse quello che cerco The Google Places API (Developer Preview) - Google Maps API Web Services - Google Code
ecco a cosa mi riferivo per la documentazione che cercavo.Fatemi sapere se sono nella giusta strada grazie.

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #4 il: 09 Febbraio 2011, 17:41:19 CET »
0
sei riuscito poi ad utilizzare le API ? Perché sto cercando il funzionamento anche io per la mia applicazione. Se si puoi postare un codice esempio?

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #5 il: 09 Febbraio 2011, 19:34:21 CET »
0
Posso dirti che per il momento non ci sono riuscito perchè ancora aspetto da parte di google una api key che mi permetta di fare delle url di richiesta autentificate!!Vorrei ricordarti come molti pensano che le api key in questione non è quello che usi per usare le mappe di google bensì un codice che si ottiene dopo aver creato un client id adsense.
Per ovviare a questo ostacolo sto cercando di costruirmi una simulazione della risposta di google creando un file di tipo json(ricordandoti che questo è il file che ricevi dalla tua richiesta, dovrai fare il parsing se vuoi estrapolare i dati)
che risulta essere uguale alle risposta che darebbe il webservice di google ,cosi facendo riesco ad andare avanti con lo sviluppo!!!


Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #6 il: 10 Febbraio 2011, 11:14:09 CET »
0
grazie della tua risposta, ecco appunto credevo che la chiave fosse la stessa ^^ , su che link posso fare la richiesta per quest'altra?
Poi sulla documentazione ho letto che in teoria puoi ricevere la risposta o in Json o anche in XML, dici che è più semplice poi usare il primo?

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #7 il: 10 Febbraio 2011, 18:16:10 CET »
0
posso dirti che ho seguito come riferimento questo sito  Android Development – Part 1:  Using Google’s Places API to Develop Compelling Location Based Mobile Applications 
qui come vedi spiega come fa ad ottenere questo Adsense publisher id e poi se continui ti rimanda su questo modulo di richiesta per ottenere questa apikey https://www.google.com/adsense/g-app-single-1 , ho fatto tutto  ma che non ho ancora ricevuto risposta da google.Per quanto riguarda il file xml o json penso che sia più semplice usare json per estrapolare i dati a tuo piacimento ma questo può essere una cosa più soggettiva!!!

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #8 il: 10 Febbraio 2011, 18:26:32 CET »
0
sto leggendo solo che non capisco una cosa. Che c'entra questo ad sense? Cioè per dire io non ho un sito sul quale far mettere a google i suoi banner o non so cosa...e non vedo come sia legato all'ottenimento della chiave che serve per la mia applicazione

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #9 il: 11 Febbraio 2011, 18:51:27 CET »
0
da quello che ho capito serve a garantire a google chi fa le request durante l'uso  di una applicazione visto che sono state limitate a 2000 giornaliere!!!per quanto riguarda il sito hai due strade che puoi percorrere,crearti un blog fittizio oppure chiedere ad un amico che ne possiede uno se puoi usare il suo url per indicarlo a google!!

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #10 il: 14 Febbraio 2011, 12:15:12 CET »
0
bene dopo 3 giorni mi hanno attivato l'account ad sense e ora ho l'id. Proverò a usarlo e a farti sapere se tutto funziona

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #11 il: 15 Febbraio 2011, 17:10:11 CET »
0
Volevo aggiornarti, magari in quello che sto facendo può tornarti utile il tutto. Visto che come dici prima di ricevere effettivamente il file Json tramite richiesta HTTP è meglio fare la parte implementativa del parsing, io sono riuscito ad estrapolare i dati tranne che per l'ultima parte riguardante HTML_ATTRIBUTION che se lo metto come JSONObject non me lo prende, se lo metto come JSONArray manco...personalmente mi sa che lo escluderò a sto punto :-D
Comunque il codice che ho scritto è

Codice (Java): [Seleziona]
package progetto.login;

import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;

public class ricerca_negozi extends Activity {
   
               
        private JSONObject jObject,jObject2;
       
    private String es_google = "{  \"status\": \"OK\",  \"results\": [ {    \"name\": \"Pirrama Rd\",    \"vicinity\": \"Pyrmont\",    \"types\": [ \"route\", \"locality\", \"political\"],    \"geometry\": {      \"location\": {        \"lat\": -33.8669491,        \"lng\": 151.1954987      }   },    \"icon\": \"http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png\",    \"reference\": \"CmReAAAADthnxYEYI5RMMEffD6vLCzcS621hcVyMhLdTdwo13W1ZLXFmtMs0AjSAwqyRjc576zLPn28B4jaj8LYsTOD-pGC9077PwtuOQ2ckNIalOQqqvK6WxrwVJ6jYvs0GgX0NEhBExHuDE0TgC6ax5a01V2kLGhT2Dgc4qDgHKxVG3-DQTg4pG0N3-g\",    \"id\": \"96760d4544ecdaaf2e87565915638238ca960f20\"  }]}";
        private String prova = "{\"html_attributions\": [ \"Listings by \u003ca href=\"http://www.yellowpages.com.au/\"\u003eYellow Pages\u003c/a\u003e\" ]}";
   
    @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.negozilayout);
                try {
                        parse();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
       
        private void parse() throws Exception {
               
                       
                jObject = new JSONObject(es_google);
                String stato = jObject.getString("status");
                System.out.println(stato);
               
                JSONArray risultati = jObject.getJSONArray("results");
        for (int j=0;j<risultati.length();j++){
               
                System.out.println(risultati.getJSONObject(j).getString("name").toString());
                System.out.println(risultati.getJSONObject(j).getString("vicinity").toString());
               
                JSONArray types = risultati.getJSONObject(j).getJSONArray("types");
                for (int i=0;i<types.length();i++){
                        System.out.println(types.getString(i).toString());                   
                }
               
                JSONObject geometry = risultati.getJSONObject(j).getJSONObject("geometry");
                JSONObject location = geometry.getJSONObject("location");
                System.out.println(location.getString("lat").toString());
                System.out.println(location.getString("lng").toString());
               
                System.out.println(risultati.getJSONObject(j).getString("icon").toString());
                System.out.println(risultati.getJSONObject(j).getString("reference").toString());
                System.out.println(risultati.getJSONObject(j).getString("id").toString());
        }
                 

        }
       
}

ti allego screen del tomcat che in effetti mi stampa i vari campi. Per il json come vedi ho fatto due prove a parte per quello senza html_attribution.
Spero di esserti stato d'aiuto e spero in una collaborazione per questa cosa :-)
Buona giornata

Offline michelegrammichele

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg optimus one
  • Sistema operativo:
    seven
Re:app che sfrutta le mappe di google
« Risposta #12 il: 15 Febbraio 2011, 18:12:55 CET »
0
ciao da quello che vedo ti sei creato una stringa formattando il tutto come una risposta di tipo json,io ho invece creato un file che ho messo sulla sd(sempre di tipo json) che faccio caricare dalla mia applicazione.
Cmq se trovi altre notizie per le api places in giro per il web posta pure qui, cosi facciamo una cosa utile per tutti!!io ancora non ho bene capito dopo aver compilato il modulo di richiesta in che modo dovrei ricevere queste key!!!

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #13 il: 15 Febbraio 2011, 19:09:29 CET »
0
io ho completato il modulo, dopo tre giorni mi è arrivata la conferma per mail e il link per completare la registrazione e li mi ha dato l'adsense id

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:app che sfrutta le mappe di google
« Risposta #14 il: 19 Febbraio 2011, 19:01:11 CET »
0
ok sono riuscito a ottenere tramite location manager ad avere la mia posizione, ho creato il parse del JSON e ora siamo al punto vero e proprio di provarlo facendo l'effettiva richiesta. Solo che non capisco due parametri da mettere nella richiesta. Sulla documentazione c'è scritto:

Citazione
Place Search Request

A Place Search request is an HTTP URL of the following form:

https://maps.googleapis.com/maps/api/place/search/output?parameters

where output may be either of the following values:

    * json (recommended) indicates output in JavaScript Object Notation (JSON)
    * xml indicates output as XML

Certain parameters are required to initiate a Place Search request. As is standard in URLs, all parameters are separated using the ampersand (&) character. The list of parameters and their possible values are enumerated below.

    * location (required) — The textual latitude/longitude value from which you wish to retrieve place information.
    * radius (required) — The distance (in meters) within which to return Place results. The recommended best practice is to set radius based on the accuracy of the location signal as given by the location sensor.*
    * name (optional) — The text name of the Place. When passed, matching results will be restricted to those containing the passed name. This name is not case-sensitive. This parameter is useful for narrowing down the search for a Place when you know where you are located.
    * sensor (required) — Indicates whether or not the Place request came from a device using a location sensor (e.g. a GPS) to determine the location sent in this request. This value must be either true or false.
    * client (required) — Specifies the registered application using this service.
    * signature (required) — The generated value of signing this URL using the client's cryptographic key. (See URL Authentication for more information.)


La mia domanda è : che cavolo devo mettere in client e in signature? Non riesco a capirlo. Il mio Adsense ID?La chiave per le google map?
Help!!!