Frage : Google Maps, ahhhh Hilfe pls!

Von, hallo haben alle,

I das neues Projektaufkommen und -es die invloves, die google Diagramme integrieren, jetzt ist mein Problem, dass ich nie jede mögliche Sache getan habe so und von Anfang an es wie ein painfull Kodierung excersie aussieht, aber ich mag ein challenge.

I habe, angefangen das google Diagramm API zu betrachten und herunterladen das HTML-Beispiel, aber was ich brauchen tun ist zu fähigem, eine Stadt, von einem Tropfen unten vorzuwählen und dann sendet das wie Antrag, ein Diagramm zu erzeugen, um auf das zu zeigen location.

Questons
1) i-Steuerung die Größe des Diagrammfensters kann?
2) wie übersetze ich einen Stadtnamen oder Adressen-/Postleitzahldetails in Diagrammschnüre oder kann google dies für mich tun wenn so wie bitte?
3), wenn ich ein Diagramm aufstehe, kann ich grafisch darstellen verschiedene Positionen auf ihm, wenn so how.

PHP/javascripy/HTML und CSS ist, was ich Webseiten normaly.

Many im Dank im Voraus für Ihr help
Bob
entwickele

Antwort : Google Maps, ahhhh Hilfe pls!

Antworten… Nachdem Sie dieses sehen, diese Seite bitte sorgfältig lesen:
http://code.google.com/apis/maps/documentation/staticmaps/

(1) können Sie die Größe des Fensters bis zu den Pixeln 640x640 steuern
(2) kann Google dies für Sie tun - das statische Diagramm API kann Adressenfragmente oder sogar Namen der Grenzsteine annehmen.  Oder Sie können ein geocoder benutzen.  anbieten Google und Yahoo geocoders n.  Das Code-Stückchen von diesem bitte als ein Beispiel sehen.
(3) können Sie viele verschiedenen Positionen auf einem Diagramm grafisch darstellen.  Ich bekannt gebe eine Anschlussantwort mit einem Beispiel ntwort, das einige der Weisen zeigt, die Sie das Google Maps API benutzen können, um mehrfache Druckbolzen oder Ikonen auf einem Diagramm bekanntzugeben.

Bester Respekt, ~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:
6:
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/Google SimpleGeoCoder Demo
    
    
    
    Addr:  
    Stadt:  
    Str.:   
    Postleitzahl:  
    
    
    
    
    Adresse = $_GET [„a“];
$demo->city    = $_GET [„c“];
$demo->state   = $_GET [„s“];
$demo->zip     = $_GET [„z“];


//-TEST YAHOO! GEOCODER
$demo->geocodeYahoo ();
Echo PHP_EOL. „YAHOO! “;
print_rr ($demo);


//-TEST DAS GOOGLE GEOCODER
$demo->geocodeGoogle ();
Echo PHP_EOL. „GOOGLE“;
print_rr ($demo);

// GANZ GETAN
sterben ();


EINFACHE GEOCODER KATEGORIE //-
Kategorie SimpleGeoCoder
{
    // ERKLÄREN DIE EINGANGS-DATEN
    Öffentlichkeit $location;

    //-GEBRAUCH DIESES FÜR EINE FREEFORM FRAGE ODER BENUTZT DIE TEILE
    Öffentlichkeit $address;
    Öffentlichkeit $city;
    Öffentlichkeit $state;
    Öffentlichkeit $zip;

    // ERKLÄREN DIE ARBEITSdaten
    privates $precis;

    // ERKLÄREN DIE OUTPUT-DATEN
    Öffentlichkeit $latitude;
    Öffentlichkeit $longitude;
    Öffentlichkeit $precision;
    Öffentlichkeit $warning;
    Öffentlichkeit $geocoder;

    // ERKLÄREN DEN ERBAUER
    allgemeines Funktion __construct ()
    {
        $this->latitude  = 0.0;
        $this->longitude = 0.0;
        $this->precision = FALSCH;  // WÜNSCHEN EINEN WERT VON 5, ODER HÖHER, IST HÖHER BESSER
        $this->warning   = '';
        $this->geocoder  = '';
        unset ($this->precis);
    }

    // ERKLÄREN DAS DATA-CLEANUP
    privates Funktion _cleanup ($str)
    {
        $str = preg_replace („/[^ \“ a-zA-Z0-9&! #$% () „+:? \/@, _ \. \ -]/', '', $str);
        Rückholordnung (preg_replace („/\ s \ s+/“, '', $str));
    }

    // ERKLÄREN YAHOO! VERSION DES ARBEITSPFERDES
    allgemeines Funktion geocodeYahoo ()
    {
        wenn (! definiert („YAHOO_API ")) definieren („YAHOO_API“, „YAHOO_API ");
        $this->geocoder = „Yahoo! “;
        $yahooUrl       = „http://local.yahooapis.com/MapsService/V1/geocode?&appid=“. YAHOO_API;

        //, DAS SIE UM EINE FREEFORM FRAGE BITTEN KÖNNEN
        wenn ($this->location! = '')
        {
            $yahooUrl. = „&location=“. urlencode ($this->_cleanup ($this->location));
        }

        //, DAS SIE UM EINZELNE STÜCKE EINER ADRESSE BITTEN KÖNNEN
        sonst
        {   $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));
        }

        // DURCHFÜHREN FRAGE YAHOO-GEOCODER HREN
        //-ANMERKUNG - STÖRUNGS-AUSGLEICH VERWENDEN, ODER ER ABSTREIFT HERAUS DEN SCHLÜSSEL YAHOO-API - ÜBER SCHLECHTEN ANTRAG AUSFALL-RÜCKKEHR-HTTP-400
        wenn ($yfp = @fopen ($yahooUrl, „r "))
        {
            $yahooResponse = '';
            während (! feof ($yfp))
            {
                $yahooResponse. = fgets ($yfp);
            }
            fclose ($yfp);
        }
        sonst
        {
            RÜCKHOLFALSCHES;
        }

        // ÜBERPRÜFEN DAS RESULTAT
        wenn ($yahooResponse! = '') LEERES // NICHT, ERHIELTEN WIR DATEN
        {
            $ydata    = neues SimpleXMLElement ($yahooResponse);

            //-ÜBERPRÜFUNG AUF JEDE MÖGLICHE FEHLERMELDUNG, WENN KEINES, EXTRAHIEREN DIE DATEN-PUNKTE
            $yerror    = $ydata->Message;
            wenn ($yerror == '')
            {
                $this->precis    = (Schnur) $ydata->Result [„Präzision“];
                $this->warning   = (Schnur) $ydata->Result [„warnend“];
                $this->latitude  = (Schnur) $ydata->Result->Latitude;
                $this->longitude = (Schnur) $ydata->Result->Longitude;

                // DIESE AUSSAGEN KANN VERWENDET WERDEN, UM NORMALISIERTE ADRESSE ZURÜCKZUBRINGEN
                $this->address   = (Schnur) $ydata->Result->Address;
                $this->city      = (Schnur) $ydata->Result->City;
                $this->state     = (Schnur) $ydata->Result->State;
                $this->zip       = (Schnur) $ydata->Result->Zip;

                // EINSTELLTE PRÄZISION AUF EINEN ZAHL-WERT E
                wenn ($this->precis == „Reißverschluss ")     {$this->precision = „5“; }
                wenn ($this->precis == „Straße ")  {$this->precision = „6“; }
                wenn ($this->precis == „Adresse ") {$this->precision = „8“; }
            }
            sonst
            {
                RÜCKHOLFALSCHES;
            }
        }

        // KEIN RESULTAT - ETWAS IST BEI YAHOO KRANK
        sonst
        {
            RÜCKHOLFALSCHES;
        }

        Rückhol AUSRICHTEN;
    } //-ENDEN-Funktion geocodeYahoo


    // ERKLÄREN DIE GOOGLE VERSION DES ARBEITSPFERDES
    allgemeines Funktion geocodeGoogle ()
    {
        wenn (! definiert („GOOGLE_API ")) definieren („GOOGLE_API“, „GOOGLE_API ");
        $this->geocoder = „Google“;
        $googleUrl      = „http://maps.google.com/maps/geo?key=“. GOOGLE_API. „&output=csv“;
        wenn ($this->location! = '') //, DAS SIE UM EINE FREEFORM FRAGE BITTEN KÖNNEN
        {
            $googleUrl. = „&q=“. urlencode ($this->_cleanup ($this->location));
        }
        sonst //, das SIE UM EINZELNE STÜCKE EINER ADRESSE BITTEN KÖNNEN
        {
            $googleUrl. = „&q=“. urlencode (Ordnung (
                    $this->_cleanup ($this->address)
            . ''. $this->_cleanup ($this->city)
            . ''. $this->_cleanup ($this->state)
            . ''. $this->_cleanup ($this->zip)
            ));
        }

        // DURCHFÜHREN GOOGLE GEOCODER FRAGE HREN
        wenn ($gfp = @fopen ($googleUrl, „r "))
        {
            $googleResponse = '';
            während (! feof ($gfp))
            {
                $googleResponse. = fgets ($gfp);
            }
            fclose ($gfp);
        }
        sonst
        {
            RÜCKHOLFALSCHES;
        }

        //-AUSZUG, DEN DIE DATEN VOM CSV AUFREIHEN
        $gdata    = explodieren („,“, $googleResponse);
        wenn ($gdata [0]! = „200“) // WARTEcode SOLLTE „200“ SEIN -- WENN 602 - SCHLECHTE POSTLEITZAHL ODER UNBRAUCHBARE ADRESSE
        {
            RÜCKHOLFALSCHES;
        }
        $this->precision = $gdata [1]; GENAUIGKEIT //-GEOCODE - POSTLEITZAHL = 5, HÖHERE ZAHLEN SIND BESSER
        $this->latitude  = $gdata [2];
        $this->longitude = $gdata [3];
        Rückhol AUSRICHTEN;
    } //-ENDEN-Funktion geocodeGoogle

} //-ENDEN-Kategorie SimpleGeocoder



//-OHNE BEZUGfunktion, ZUM DES OUTPUT NUR DIE ÖFFENTLICHE INFORMATION ZEIGEN ZU LASSEN
Funktion print_rr ($thing)
{
    $str = print_r ($thing, AUSRICHTEN);
    $arr = explodieren (PHP_EOL, $str);
    $num = Zählimpuls ($arr) - 1;
    foreach ($arr als $ptr => $txt)
    {
        wenn (preg_match („/: privates]/“, $txt))
        {
            unset ($arr [$ptr]);
        }
    }
    Echo implodieren (PHP_EOL, $arr);
}
Weitere Lösungen  
 
programming4us programming4us