Android Places API parse all JSON categories -
मेरे पास पहले से ही नया ग्रहण ()। निष्पादित करें ("https://maps.googleapis.com/maps/api/place/search/json?types=cafe&rankby=distance&location=33.897835,-117.955759&sensor=false&key= MyKey "); को क्रिएट () पर मेरी मुख्य गतिविधि में बुलाया जाता है और आउटपुट पार्स करता है <पूर्व>
प्राइवेट क्लास ग्रेटप्लेस एसिंक टास्क विस्तृत करता है & lt; स्ट्रिंग, वाइड, स्ट्रिंग & gt; {सुरक्षित स्ट्रिंग doInBackground (स्ट्रिंग ... यूआरएल) {StringBuilder placesBuilder = new StringBuilder (); // प्रोसेस सर्च पैरामीटर स्ट्रिंग (स्ट्रिंग placeSearchURL: urls) के लिए {// एक्सट्रैक्शन सर्च HttpClient placesClient = new DefaultHttpClient (); कोशिश करें // // एचटीटीपी गेट के स्थानों को प्राप्त करने का प्रयास करेंगेट = नया एचटीटीपीएगेट (प्लेस सर्च यूआरएल); एचटीटीपीआरपीएसपॉइंट स्थानोंरेस्पोंस = placesClient.execute (स्थानोंगेट); स्टेटसलाइन स्थान SearchStatus = placesResponse.getStatusLine (); यदि (placeSearchStatus.getStatusCode () == 200) {// हमारे पास एक ठीक प्रतिक्रिया है HttpEntity placesEntity = placesResponse.getEntity (); इनटस्टस्ट्रीम स्थानोंसामग्री = स्थानोंइन्तिटी.गेट कॉन्टेंट (); InputStreamReader स्थानोंइनपुट = नए इनपुट स्ट्रीम प्रदाता (स्थानोंसामग्री); BufferedReader स्थानोंरेडर = नया BufferedReader (placesInput); स्ट्रिंग लाइनइन; जबकि ((lineIn = placesReader.readLine ())! = नल) {placesBuilder.append (lineIn); }}} पकड़ (अपवाद ई) {e.printStackTrace (); }} वापसी के स्थानों: बिल्डर। टॉथिंग (); } संरक्षित void onPostExecute (स्ट्रिंग डेटा) {// TODO: this.exception // TODO: फ़ीड / * के साथ कुछ करो (placeMarkers! = Null) {for (int pm = 0; pm & lt; placeMarkers.length; pm ++ ) {If (placeMarkers [pm]! = Null) placeMarkers [pm] .remove (); }} * / Super.onPostExecute (डेटा); // प्रगति संवाद खारिज करें यदि (डेटा! = नल) {JSONObject jsonObj; कोशिश {jsonObj = नया JSONObject (डेटा); JSONArray परिणाम = jsonObj.getJSONArray ("परिणाम"); के लिए (int i = 0; i & lt; परिणाम.लैम्बन (); i ++) {JSONObject परिणाम = results.getJSONObject (i); स्ट्रिंग का नाम = परिणाम .getString ("name"); / * स्ट्रिंग आइकन = परिणाम .getString ("आइकन"); स्ट्रिंग पता = परिणाम .getString ("आसपास"); स्ट्रिंग रेटिंग = परिणाम .getString ("रेटिंग"); स्ट्रिंग मूल्य = परिणाम .getString ("price_level"); स्ट्रिंग webiste = result.getString ("वेबसाइट"); // स्ट्रिंग की समीक्षा = परिणाम .getString ("समीक्षा"); * / लॉग डी। ("टैग", "नाम:" + नाम); अगर (result.getJSONArray ("समीक्षाएँ")! = नल) {JSONArray reviewsArray = result.getJSONArray ("समीक्षा"); JSONObject समीक्षाएँ = समीक्षाअरे.गेटजेसॉनओब्जेक्ट (0); अगर (समीक्षाएँ! = नल) {स्ट्रिंग की समीक्षा = समीक्षाओं .getString ("text"); लॉग डी। ("टैग", "समीक्षा करें:" + समीक्षा); }}}} पकड़ (जेसनएक्सएप्शन ई) {// टोडो ऑटो-जेनरेट कैच ब्लॉक e.printStackTrace (); }} // सिस्टम.आउट.प्रिंटएलएन (डीट); }}
मेरे पास इस कोड के बारे में कुछ सवाल हैं:
- मुझे एक
org.json.JSONException: समीक्षाओं के लिए कोई मान नहीं है त्रुटि और मुझे यकीन नहीं है कि इसके लिए सबसे अच्छा तरीका क्या है।
स्थान का चित्र कैसे प्राप्त कर सकता है? मेरा मतलब चिह्न नहीं है, लेकिन मैं कैसे
फ़ोटो [] array में फ़ोटो प्राप्त कर सकता हूं?
मैं इस डेटा को अपने मुख्य गतिविधि की क्रिएट विधि या सहायक फ़ंक्शन में कैसे प्राप्त करूं?
इसे आज़माएं: - यह url आपको खोजने / खोज करने में मदद करेगा NearByPlaces .....
स्ट्रिंगबिल्डर एस.बी. = नया स्ट्रिंगबिल्डर ("https://maps.googleapis.com/maps/api/place/nearbysearch/json?"); Sb.append ("location =" + mlatitude + "," + + लांगटाइट) "; sb.append ( "& amp; त्रिज्या = 5000"); Sb.append ("& amp; प्रकार =" + प्रकार); sb.append ( "& amp; सेंसर = true"); sb.append ( "& amp; कुंजी = - अपने - Key--"); PlacesTask स्थानोंटस्क = नया स्थानस्थान (); placesTask.execute (sb.toString ());
Comments
Post a Comment