Questione : Google Maps, pls di aiuto del ahhhh!

Ciao tutti, il

I lo hanno un nuovo progetto venire in su e invloves che integrano i programmi del google, ora il mio problema è che non ho fatto mai alcuna cosa come questo e dall'inizio assomiglia ad un excersie di codificazione del painfull, ma gradico un challenge.

I ho cominciato esaminare il programma api del google ed ho caricato programmi oggetto l'esempio del HTML, ma di che cosa io hanno bisogno di fanno è ad in grado di selezionare una città, a partire da una goccia giù ed allora trasmettono quello come la richiesta di generare un programma per indicare quello location.

Questons
1) può controllo di I il formato della finestra del programma?
2) come traduco un nome della città o i particolari postcode/di indirizzo in cavi del programma o posso google farmi questo per in caso affermativo quanto prego? Il
3) se ottengo un programma in su, può io gli traccia le posizioni differenti in caso affermativo how.

PHP/javascripy/HTML e CSS è che cosa sviluppo i Web pagi nei ringraziamenti di normaly.

Many in anticipo per il vostro help
Bob
class= del

Risposta : Google Maps, pls di aiuto del ahhhh!

Risposte… Dopo che vedete questo, leggere prego con attenzione questa pagina:
http://code.google.com/apis/maps/documentation/staticmaps/

(1) potete controllare il formato della finestra fino ai pixel 640x640
(2) Google può fargli questo per - il programma statico api può accettare i frammenti di indirizzo o persino i nomi dei limiti.  O potete usare un geocoder.  Sia Google che Yahoo offrono i geocoders.  Vedere prego il frammento di codice per un esempio di questo.
(3) potete tracciare molte posizioni differenti su un programma.  Invierò una risposta di follow-up con un esempio che mostra alcuni dei sensi che potete usare Google Maps api per inviare gli a pressione o le icone multipli su un programma.

Migliori riguardi, ~Ray
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
    
    


    Yahoo/dimostrazione di Google SimpleGeoCoder
    
    
    
    Addr:  
    Città:  
    St:   
    Chiusura lampo:  
    
    
    
    
    indirizzo = $_GET [“a„];
$demo->city    = $_GET [“c„];
$demo->state   = $_GET [“s„];
$demo->zip     = $_GET [“z„];


PROVA DI // YAHOO! GEOCODER
$demo->geocodeYahoo ();
eco PHP_EOL. “YAHOO! „;
print_rr ($demo);


PROVA DI // IL GOOGLE GEOCODER
$demo->geocodeGoogle ();
eco PHP_EOL. “GOOGLE„;
print_rr ($demo);

// INTERAMENTE FATTO
morire ();


CODICE CATEGORIA SEMPLICE DI // GEOCODER
codice categoria SimpleGeoCoder
{
    // DICHIARA I DATI DI INPUT
    pubblico $location;

    L'USO DI // QUESTO PER UNA DOMANDA FREEFORM, O USA LE PARTI
    pubblico $address;
    pubblico $city;
    pubblico $state;
    pubblico $zip;

    // DICHIARA I DATI DI FUNZIONAMENTO
    $precis riservato;

    // DICHIARA I DATI DI USCITA
    pubblico $latitude;
    pubblico $longitude;
    pubblico $precision;
    pubblico $warning;
    pubblico $geocoder;

    // DICHIARA IL COSTRUTTORE
    __construct pubblico di funzione ()
    {
        $this->latitude  = 0.0;
        $this->longitude = 0.0;
        $this->precision = FALSO;  // VUOLE UN VALORE DI 5 O PIÙ ALTO, PIÙ SU È MIGLIORE
        $this->warning   = '';
        $this->geocoder  = '';
        unset ($this->precis);
    }

    // DICHIARA IL DATA-CLEANUP
    _cleanup riservato di funzione ($str)
    {
        $str = preg_replace (“/[^ \„ a-zA-Z0-9&! #$% () “+:? \/@, _ \. \ -]/', '', $str);
        disposizione di ritorno (preg_replace (“/\ s \ s+/„, '', $str));
    }

    // DICHIARA YAHOO! VERSIONE DEL CAVALLO DI LAVORO
    geocodeYahoo pubblico di funzione ()
    {
        se (! definito (“YAHOO_API ")) definire (“YAHOO_API„, “YAHOO_API ");
        $this->geocoder = “Yahoo! „;
        $yahooUrl       = “http://local.yahooapis.com/MapsService/V1/geocode?&appid=„. YAHOO_API;

        // CHE POTETE CHIEDERE UNA DOMANDA FREEFORM
        se ($this->location! = '')
        {
            $yahooUrl. = “&location=„. urlencode ($this->_cleanup ($this->location));
        }

        // CHE POTETE CHIEDERE LE DIVERSE PARTI DI UN INDIRIZZO
        altrimenti
        {   $yahooUrl. = “&street=„. urlencode ($this->_cleanup ($this->address));
            $yahooUrl. = “&city=„   . urlencode ($this->_cleanup ($this->city));
            $yahooUrl. = “&state=„  . urlencode ($this->_cleanup ($this->state));
            $yahooUrl. = “&zip=„    . urlencode ($this->_cleanup ($this->zip));
        }

        // ESEGUE LA DOMANDA DEL YAHOO GEOCODER
        NOTA DI // - USARE LA SOPPRESSIONE DI ERRORI O SCORTECCERÀ FUORI LA CHIAVE DEL YAHOO API - SULLA RICHIESTA DIFETTOSA DEL HTTP 400 DI RITORNI DI GUASTO
        se ($yfp = @fopen ($yahooUrl, “r "))
        {
            $yahooResponse = '';
            mentre (! feof ($yfp))
            {
                $yahooResponse. = fgets ($yfp);
            }
            fclose ($yfp);
        }
        altrimenti
        {
            FALSO di ritorno;
        }

        // ESAMINA IL RISULTATO
        se ($yahooResponse! = '') // NON VUOTO, ABBIAMO OTTENUTO I DATI
        {
            $ydata    = nuovo SimpleXMLElement ($yahooResponse);

            IL CONTROLLO DI // PER TUTTO IL MESSAGGIO DI ERRORE, NON NE SE, ESTRAE I PUNTI DI RIFERIMENTI
            $yerror    = $ydata->Message;
            se (== di $yerror '')
            {
                $this->precis    = (stringa) $ydata->Result [“precisione„];
                $this->warning   = (stringa) $ydata->Result [“avvertendo„];
                $this->latitude  = (stringa) $ydata->Result->Latitude;
                $this->longitude = (stringa) $ydata->Result->Longitude;

                // QUESTE DICHIARAZIONI PUÒ ESSERE USATO PER RESTITUIRE L'INDIRIZZO NORMALIZZATO
                $this->address   = (stringa) $ydata->Result->Address;
                $this->city      = (stringa) $ydata->Result->City;
                $this->state     = (stringa) $ydata->Result->State;
                $this->zip       = (stringa) $ydata->Result->Zip;

                // HA FISSATO LA PRECISIONE AD UN VALORE DI NUMERO
                se (chiusura lampo del == di $this->precis “")     {$this->precision = “5„; }
                se (via del == di $this->precis “")  {$this->precision = “6„; }
                se (indirizzo del == di $this->precis “") {$this->precision = “8„; }
            }
            altrimenti
            {
                FALSO di ritorno;
            }
        }

        // NESSUN RISULTATO - QUALCOSA È AMMALATO A YAHOO
        altrimenti
        {
            FALSO di ritorno;
        }

        di ritorno ALLINEARE;
    } geocodeYahoo di funzione di CONCLUSIONE di //


    // DICHIARA LA VERSIONE DI GOOGLE DEL CAVALLO DI LAVORO
    geocodeGoogle pubblico di funzione ()
    {
        se (! definito (“GOOGLE_API ")) definire (“GOOGLE_API„, “GOOGLE_API ");
        $this->geocoder = “Google„;
        $googleUrl      = “http://maps.google.com/maps/geo?key=„. GOOGLE_API. “&output=csv„;
        se ($this->location! = '') // CHE POTETE CHIEDERE UNA DOMANDA FREEFORM
        {
            $googleUrl. = “&q=„. urlencode ($this->_cleanup ($this->location));
        }
        // che altro POTETE CHIEDERE le DIVERSE PARTI DI UN INDIRIZZO
        {
            $googleUrl. = “&q=„. urlencode (disposizione (
                    $this->_cleanup ($this->address)
            . ''. $this->_cleanup ($this->city)
            . ''. $this->_cleanup ($this->state)
            . ''. $this->_cleanup ($this->zip)
            ));
        }

        // ESEGUE LA DOMANDA DI GOOGLE GEOCODER
        se ($gfp = @fopen ($googleUrl, “r "))
        {
            $googleResponse = '';
            mentre (! feof ($gfp))
            {
                $googleResponse. = fgets ($gfp);
            }
            fclose ($gfp);
        }
        altrimenti
        {
            FALSO di ritorno;
        }

        ESTRATTO CHE DI // I DATI DAL CSV METTONO INSIEME
        $gdata    = esplodono (“,„, $googleResponse);
        se ($gdata [0]! = IL CODICE DI RISPOSTA “DI 200„) // DOVREBBE ESSERE “200„ -- SE 602 - CODICE DI POSTALE DIFETTOSO O INDIRIZZO INUTILIZZABILE
        {
            FALSO di ritorno;
        }
        $this->precision = $gdata [1]; ESATTEZZA DI // GEOCODE - IL CODICE DI POSTALE = 5, PIÙ ALTI NUMERI È MIGLIORE
        $this->latitude  = $gdata [2];
        $this->longitude = $gdata [3];
        di ritorno ALLINEARE;
    } geocodeGoogle di funzione di CONCLUSIONE di //

} codice categoria SimpleGeocoder dell'ESTREMITÀ di //



FUNZIONE INDIPENDENTE DI // PER FARE L'USCITA MOSTRARE LE INFORMAZIONI PUBBLICHE SOLTANTO
print_rr di funzione ($thing)
{
    $str = print_r ($thing, ALLINEANO);
    $arr = esplodono (PHP_EOL, $str);
    $num = conteggio ($arr) - 1;
    foreach ($arr come => $txt di $ptr)
    {
        se (preg_match (“/: ] riservato/„, $txt))
        {
            unset ($arr [$ptr]);
        }
    }
    l'eco implode (PHP_EOL, $arr);
}
Altre soluzioni  
 
programming4us programming4us