Fråga : Google kartlägger, ahhhhhjälppls!

Hi alla,

I har ett nytt att projektera kommande övre, och han invloves som integrerar google, kartlägger, nu mitt problem är att jag har aldrig gjort någon tingnågot liknande detta och från början den ser likt en kodifiera excersie för painfull, men har jag gillar en challenge.

I startat att se googlen för att kartlägga API och har nedladdat HTML-exemplet, men vad jag behöver gör är till kompetent att välja en stad, från tappar besegrar och överför därefter det av, som förfråganen att frambringa en kartlägga för att peka till det location.

Questons
1) kan mig kontrollera storleksanpassa av kartläggafönstret?
2) Hur jag översätter en känd stad, eller att tilltala/postcode specificerar in i kartlägger binder med rep, eller kan google göra denna för mig om så hur behaga?
3) Om jag får upp en kartlägga, kan jag konspirerar olika lägen på den, om så how.

PHP/javascripy/HTML och CSS är vad jag framkallar webpages i tack för normaly.

Many i förskott för din help
Bob
" klar "

Svar : Google kartlägger, ahhhhhjälppls!

Svar…, Behaga läst denna sida försiktigt: efter du har sett denna,
http://code.google.com/apis/maps/documentation/staticmaps/

(1) Du kan kontrollera storleksanpassa av PIXELen 640x640 för fönstret upp till
(2) Google kan göra denna för dig - statisk elektricitet kartlägger API kan acceptera tilltalar fragment eller namnger även av landmarks.  Eller du kan använda en geocoder.  Både Google och tölpen erbjuder geocoders.  Behaga ser kodifierasnippeten för ett exempel av denna.
(3) Du kan konspirera olika lägen för en radda på en kartlägga.  Jag ska postar ett uppföljande svar med en exempelvisning några av vägen som du kan använda Googlen kartlägger API för att posta multipelpushpins eller symboler på en kartlägga.

Med vänliga hälsningar ~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:
    
    


    Tölp/Google SimpleGeoCoder Demo
    
    
    
    Addr:  
    Stad:  
    ST:   
    Vinande:  
    
    
    
    
    tilltala = $_GET [”a”];
$demo->city    = $_GET [”c”];
$demo->state   = $_GET [”s”];
$demo->zip     = $_GET [”z”];


// TESTAR YAHOO! GEOCODER
$demo->geocodeYahoo ();
eka PHP_EOL. ”YAHOO! ”;
print_rr ($demo);


// TESTAR GOOGLEN GEOCODER
$demo->geocodeGoogle ();
eka PHP_EOL. ”GOOGLE”;
print_rr ($demo);

// SOM GÖRAS ALL
matris ();


// ENKEL GEOCODER KLASSIFICERAR
klassificera SimpleGeoCoder
{
    // FÖRKLARAR INGÅNGSDATA
    offentlig $location;

    // BRUK DETTA FÖR EN FREEFORM QUERY, ELLER ANVÄNDER DELARNA
    offentlig $address;
    offentlig $city;
    offentlig $state;
    offentlig $zip;

    // FÖRKLARAR DE FUNKTIONSDUGLIGA DATAN
    privat $precis;

    // FÖRKLARAR DE TILLVERKADE DATAN
    offentlig $latitude;
    offentlig $longitude;
    offentlig $precision;
    offentlig $warning;
    offentlig $geocoder;

    // FÖRKLARAR CONSTRUCTOREN
    allmänhet fungerar __construct ()
    {
        $this->latitude  = 0.0;
        $this->longitude = 0.0;
        $this->precision = FALSKT;  // ÖNSKAR EN VÄRDERA AV 5, ELLER HÖGRE, ÄR HIGHER BÄTTRE
        $this->warning   = '';
        $this->geocoder  = '';
        unset ($this->precis);
    }

    // FÖRKLARAR DATAEN-CLEANUP
    privat fungera _cleanup ($str)
    {
        $str = preg_replace (”/[^ \” a-zA-Z0-9&! #$% () ”+:? \/@, _ \. \ -]/', '', $str);
        återgång klippning (preg_replace (”/\ s \ s+/”, '', $str));
    }

    // FÖRKLARAR YAHOO! VERSION AV WORKHORSEN
    allmänhet fungerar geocodeYahoo ()
    {
        om (! definierat (”YAHOO_API”)) definiera (”YAHOO_API”, ”YAHOO_API”);
        $this->geocoder = ”Yahoo! ”;
        $yahooUrl       = ”http://local.yahooapis.com/MapsService/V1/geocode?&appid=”. YAHOO_API;

        // SOM DU KAN FRÅGA FÖR EN FREEFORM QUERY
        om ($this->location! = '')
        {
            $yahooUrl. = ”&location=”. urlencode ($this->_cleanup ($this->location));
        }

        // SOM DU KAN FRÅGA FÖR INDIVID LAPPAR AV EN TILLTALA
        annars
        {   $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));
        }

        // UTFÖR QUERY FÖR TÖLP GEOCODER
        // NOTERAR - ANVÄND FELDÄMPNING, ELLER DEN SKA SKÄLLET UT DEN NYCKEL- TÖLPEN API - PÅ FÖRFRÅGAN FÖR DÅLIGA FÖR FELRETURHTTP 400
        om ($yfp = @fopen ($yahooUrl, ”r”))
        {
            $yahooResponse = '';
            stunder (! feof ($yfp))
            {
                $yahooResponse. = fgets ($yfp);
            }
            fclose ($yfp);
        }
        annars
        {
            återgångt FALSKT;
        }

        // UNDERSÖKER RESULTATET
        om ($yahooResponse! = '') INTE TOMMA //, VI FICK DATA
        {
            $ydata    = nya SimpleXMLElement ($yahooResponse);

            // KONTROLL FÖR NÅGOT FELMEDDELANDE, OM INGA, EXTRAKT SOM DATAN PEKAR
            $yerror    = $ydata->Message;
            om ($yerror-== '')
            {
                $this->precis    = (stränga), $ydata->Result [”precision”];
                $this->warning   = (stränga), $ydata->Result [”varna”];
                $this->latitude  = (stränga), $ydata->Result->Latitude;
                $this->longitude = (stränga), $ydata->Result->Longitude;

                // DESSA MEDDELANDEN KAN VARA NORMALISERAD VAN VID RETUR TILLTALAR
                $this->address   = (stränga), $ydata->Result->Address;
                $this->city      = (stränga), $ydata->Result->City;
                $this->state     = (stränga), $ydata->Result->State;
                $this->zip       = (stränga), $ydata->Result->Zip;

                // FASTSTÄLLD PRECISION TILL EN NUMRERA VÄRDERAR
                om ($this-->precis== ”vinande”)     {$this->precision = ”5”; }
                om ($this-->precis== ”gata”)  {$this->precision = ”6”; }
                om ($this-->precis== ”tilltalar”) {$this->precision = ”8”; }
            }
            annars
            {
                återgångt FALSKT;
            }
        }

        // INGET RESULTAT - NÅGOT ÄR SJUK PÅ TÖLPEN
        annars
        {
            återgångt FALSKT;
        }

        återgångt TRUE;
    } // AVSLUTAR fungerar geocodeYahoo


    // FÖRKLARAR GOOGLE-VERSIONEN AV WORKHORSEN
    allmänhet fungerar geocodeGoogle ()
    {
        om (! definierat (”GOOGLE_API”)) definiera (”GOOGLE_API”, ”GOOGLE_API”);
        $this->geocoder = ”Google”;
        $googleUrl      = ”http://maps.google.com/maps/geo?key=”. GOOGLE_API. ”&output=csv”;
        om ($this->location! = '') // SOM DU KAN FRÅGA FÖR EN FREEFORM QUERY
        {
            $googleUrl. = ”&q=”. urlencode ($this->_cleanup ($this->location));
        }
        annan // som DU KAN FRÅGA FÖR INDIVID LAPPAR AV EN TILLTALA
        {
            $googleUrl. = ”&q=”. urlencode (klippning (
                    $this->_cleanup ($this->address)
            . ''. $this->_cleanup ($this->city)
            . ''. $this->_cleanup ($this->state)
            . ''. $this->_cleanup ($this->zip)
            ));
        }

        // UTFÖR QUERY FÖR GOOGLE GEOCODER
        om ($gfp = @fopen ($googleUrl, ”r”))
        {
            $googleResponse = '';
            stunder (! feof ($gfp))
            {
                $googleResponse. = fgets ($gfp);
            }
            fclose ($gfp);
        }
        annars
        {
            återgångt FALSKT;
        }

        // EXTRAKT SOM DATAN FRÅN CSVEN STRÄNGER
        $gdata    = exploderar (”,”, $googleResponse);
        om ($gdata [0]! = SVARET ”FÖR 200”) // KODIFIERAR BÖR VARA ”200”, -- OM 602 - DÅLIGAPOSTNUMRET ELLER OANVÄNDBARA TILLTALAR
        {
            återgångt FALSKT;
        }
        $this->precision = $gdata [1]; // GEOCODE EXAKTHET - POSTNUMRET = 5, NUMRERAR HIGHER ÄR BÄTTRE
        $this->latitude  = $gdata [2];
        $this->longitude = $gdata [3];
        återgångt TRUE;
    } // AVSLUTAR fungerar geocodeGoogle

} // AVSLUTAR klassificerar SimpleGeocoder



UNRELATED // FUNGERAR FÖR ATT GÖRA DEN TILLVERKADE SHOWEN DEN OFFENTLIGA INFORMATIONEN ENDAST
fungera print_rr ($thing)
{
    $str = print_r ($thing, TRUE);
    $arr = exploderar (PHP_EOL, $str);
    $num = räkning ($arr) - 1;
    foreach ($arr som $ptr-=> $txt)
    {
        om (preg_match (”/: privat]/”, $txt))
        {
            unset ($arr [$ptr]);
        }
    }
    eka imploderar (PHP_EOL, $arr);
}
Andra lösningar  
 
programming4us programming4us