2011-03-22 24 views
10

मैं Google की geocoding सेवा से एक जेसन प्रतिक्रिया प्राप्त करने का प्रयास कर रहा हूं। मैं PHP का उपयोग कर रहा हूँ। मैं फॉपेन के साथ कोशिश कर रहा था, फिर मैंने एक और स्टैक ओवरफ्लो प्रश्न में पढ़ा कि मुझे file_get_contents का उपयोग करना चाहिए, लेकिन काम भी नहीं किया। तब मैं खोज जारी रखें और एक अन्य मंच, जिन्होंने कहा कि मैं एक बेहतर समाधान अगर मैं का प्रयोग करेंगे कर्ल इसलिए मैं अपने कोड बदल गया है और काम नहीं कर रहा में किसी को नहीं मिला। सभी मामलों में मैं एक ": गलत अनुरोध आपके क्लाइंट का एक विकृत या अवैध अनुरोध जारी किया है त्रुटि 400।।" प्राप्त कियाGoogle जियोकोडिंग सेवा त्रुटि 400 खराब अनुरोध

मेरे कोड यह है:

$jsonUrl = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $cityName . "&sensor=false"; 

    $geocurl = curl_init(); 
    curl_setopt($geocurl, CURLOPT_URL, $jsonUrl); 
    curl_setopt($geocurl, CURLOPT_HEADER,0); //Change this to a 1 to return headers 
    curl_setopt($geocurl, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); 
    curl_setopt($geocurl, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($geocurl, CURLOPT_RETURNTRANSFER, 1); 

    $geofile = curl_exec($geocurl); 

तो मैं सामग्री प्रिंट और त्रुटि संदेश मिला।

कोई भी विचार?

बहुत बहुत धन्यवाद।

उत्तर

20

ठीक है, मैं यह पता लगा।

मेरे $ cityName चर था इस:

$cityName = "Monterrey, NL"; 

अल्पविराम और "NL" के बीच सफेद स्थान। आपकी मदद के लिए

http://code.google.com/intl/es/apis/maps/documentation/geocoding/

अभिवादन और बहुत बहुत शुक्रिया: मैं + "" के लिए "बदलने के लिए" और दस्तावेज में की तरह कोई मान्य url प्राप्त str_replace इस्तेमाल किया!

+5

वैकल्पिक रूप से आप 'urlencode() 'में सभी चर लपेट सकते हैं। –

1

मुझे लगता है कि आप भूल रहे हैं एपीआई कुंजी

Btw, मैं बस file_get_contents() Google की जियोकोडर के लिए उपयोग करते हैं, आप स्थापित करने के लिए के बाद से वहाँ कोई विशेष शीर्षक क्या हैं, या http-पुनर्निर्देश का पालन करना पड़ेगा, आदि

+0

हाय। आपके प्रतिक्रिया के लिए धन्येवाद। यह काम नहीं किया। एक बार फिर धन्यवाद! – Chuy

0

एफवाईआई, मैं बस इसमें भाग गया और मेरा मुद्दा यह था कि मैंने गलत "पता" क्वेरी स्ट्रिंग पैरामीटर टाइप किया था (मैंने इसे "पता" के बजाय "एड्रेस" के रूप में टाइप किया था)।

संबंधित मुद्दे

 संबंधित मुद्दे