I am using MapclickListener onclick of map getting latlng I am geocoding them I want the place id from that geocoded address and the places details using that address.
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
#Override
public void onMapClick(LatLng latLng) {
mMap.clear();
mMap.addMarker(new MarkerOptions()
.position(latLng));
Geocoder geocoder = new Geocoder(context, Locale.ENGLISH);
try {
List<Address> addressList = geocoder.getFromLocation(latLng.latitude,latLng.longitude,1);
// Get geocode address
// ***https://maps.googleapis.com/maps/api/geocode/json?address=Address&key=GOOGLE_KEY***
// Get place_id using this address
// Get place details using the place_id
} catch (IOException e) {
e.printStackTrace();
}
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, DEFAULT_ZOOM));
}
});
You have to make two API calls
First would be -
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=cruise&key=YOUR_API_KEY
Here you will get JSON:
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
...
"place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
...
}
],
"status" : "OK"
}
After you get your json, your next step would be to call -
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY
Were you will get json like this:
{
"html_attributions" : [],
"result" : {
"address_components" : [
{
"long_name" : "5",
"short_name" : "5",
"types" : [ "floor" ]
}
],
"adr_address" : "5, \u003cspan class=\"street-address\"\u003e48 Pirrama Rd\u003c/span\u003e, \u003cspan class=\"locality\"\u003ePyrmont\u003c/span\u003e \u003cspan class=\"region\"\u003eNSW\u003c/span\u003e \u003cspan class=\"postal-code\"\u003e2009\u003c/span\u003e, \u003cspan class=\"country-name\"\u003eAustralia\u003c/span\u003e",
"formatted_address" : "5, 48 Pirrama Rd, Pyrmont NSW 2009, Australia",
"formatted_phone_number" : "(02) 9374 4000",
"geometry" : {
"location" : {
"lat" : -33.866651,
"lng" : 151.195827
},
"viewport" : {
"northeast" : {
"lat" : -33.8653881697085,
"lng" : 151.1969739802915
},
"southwest" : {
"lat" : -33.86808613029149,
"lng" : 151.1942760197085
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "4f89212bf76dde31f092cfc14d7506555d85b5c7",
"international_phone_number" : "+61 2 9374 4000",
"name" : "Google",
"place_id" : "ChIJN1t_tDeuEmsRUsoyG83frY4",
"rating" : 4.5,
"reference" : "CmRSAAAAjiEr2_A4yI-DyqGcfsceTv-IBJXHB5-W3ckmGk9QAYk4USgeV8ihBcGBEK5Z1w4ajRZNVAfSbROiKbbuniq0c9rIq_xqkrf_3HpZzX-pFJuJY3cBtG68LSAHzWXB8UzwEhAx04rgN0_WieYLfVp4K0duGhTU58LFaqwcaex73Kcyy0ghYOQTkg",
"reviews" : [
{
"author_name" : "Robert Ardill",
"author_url" : "https://www.google.com/maps/contrib/106422854611155436041/reviews",
"language" : "en",
"profile_photo_url" : "https://lh3.googleusercontent.com/-T47KxWuAoJU/AAAAAAAAAAI/AAAAAAAAAZo/BDmyI12BZAs/s128-c0x00000000-cc-rp-mo-ba1/photo.jpg",
"rating" : 5,
"relative_time_description" : "a month ago",
"text" : "Awesome offices. Great facilities, location and views. Staff are great hosts",
"time" : 1491144016
}
],
"scope" : "GOOGLE",
"types" : [ "point_of_interest", "establishment" ],
"url" : "https://maps.google.com/?cid=10281119596374313554",
"utc_offset" : 600,
"vicinity" : "5, 48 Pirrama Road, Pyrmont",
"website" : "https://www.google.com.au/about/careers/locations/sydney/"
},
"status" : "OK"
}
BUT: You can also use google geocode lib, where you should add a lot of code and google client inizialization.
I wanted to know how to get the picture of some location using GeoDataApi instead of any of the newest Google Play services releases like 11.2.0 , say for example with 'com.google.android.gms:play-services:10.2.0' , how do i get a photo of a place? .
You can use Google Places Api to get the nearby places and the json or xml which you will get from here , for eg :
JSON
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/travel_agent-71.png",
"id" : "21a0b251c9b8392186142c798263e289fe45b4aa",
"name" : "Rhythmboat Cruises",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 270,
"html_attributions" : [],
"photo_reference" : "CnRnAAAAF-LjFR1ZV93eawe1cU_3QNMCNmaGkowY7CnOf-kcNmPhNnPEG9W979jOuJJ1sGr75rhD5hqKzjD8vbMbSsRnq_Ni3ZIGfY6hKWmsOf3qHKJInkm4h55lzvLAXJVc-Rr4kI9O1tmIblblUpg2oqoq8RIQRMQJhFsTr5s9haxQ07EQHxoUO0ICubVFGYfJiMUPor1GnIWb5i8",
"width" : 519
}
],
"place_id" : "ChIJyWEHuEmuEmsRm9hTkapTCrk",
"scope" : "GOOGLE",
"alt_ids" : [
{
"place_id" : "D9iJyWEHuEmuEmsRm9hTkapTCrk",
"scope" : "APP"
}
],
"reference" : "CoQBdQAAAFSiijw5-cAV68xdf2O18pKIZ0seJh03u9h9wk_lEdG-cP1dWvp_QGS4SNCBMk_fB06YRsfMrNkINtPez22p5lRIlj5ty_HmcNwcl6GZXbD2RdXsVfLYlQwnZQcnu7ihkjZp_2gk1-fWXql3GQ8-1BEGwgCxG-eaSnIJIBPuIpihEhAY1WYdxPvOWsPnb2-nGb6QGhTipN0lgaLpQTnkcMeAIEvCsSa0Ww",
"types" : [ "travel_agency", "restaurant", "food", "establishment" ],
"vicinity" : "Pyrmont Bay Wharf Darling Dr, Sydney"
},
{
"geometry" : {
"location" : {
"lat" : -33.866891,
"lng" : 151.200814
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "45a27fd8d56c56dc62afc9b49e1d850440d5c403",
"name" : "Private Charter Sydney Habour Cruise",
"photos" : [
{
"height" : 426,
"html_attributions" : [],
"photo_reference" : "CnRnAAAAL3n0Zu3U6fseyPl8URGKD49aGB2Wka7CKDZfamoGX2ZTLMBYgTUshjr-MXc0_O2BbvlUAZWtQTBHUVZ-5Sxb1-P-VX2Fx0sZF87q-9vUt19VDwQQmAX_mjQe7UWmU5lJGCOXSgxp2fu1b5VR_PF31RIQTKZLfqm8TA1eynnN4M1XShoU8adzJCcOWK0er14h8SqOIDZctvU",
"width" : 640
}
],
"place_id" : "ChIJqwS6fjiuEmsRJAMiOY9MSms",
"scope" : "GOOGLE",
"reference" : "CpQBhgAAAFN27qR_t5oSDKPUzjQIeQa3lrRpFTm5alW3ZYbMFm8k10ETbISfK9S1nwcJVfrP-bjra7NSPuhaRulxoonSPQklDyB-xGvcJncq6qDXIUQ3hlI-bx4AxYckAOX74LkupHq7bcaREgrSBE-U6GbA1C3U7I-HnweO4IPtztSEcgW09y03v1hgHzL8xSDElmkQtRIQzLbyBfj3e0FhJzABXjM2QBoUE2EnL-DzWrzpgmMEulUBLGrtu2Y",
"types" : [ "restaurant", "food", "establishment" ],
"vicinity" : "Australia"
},
{
"geometry" : {
"location" : {
"lat" : -33.870943,
"lng" : 151.190311
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "30bee58f819b6c47bd24151802f25ecf11df8943",
"name" : "Bucks Party Cruise",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 600,
"html_attributions" : [],
"photo_reference" : "CnRnAAAA48AX5MsHIMiuipON_Lgh97hPiYDFkxx_vnaZQMOcvcQwYN92o33t5RwjRpOue5R47AjfMltntoz71hto40zqo7vFyxhDuuqhAChKGRQ5mdO5jv5CKWlzi182PICiOb37PiBtiFt7lSLe1SedoyrD-xIQD8xqSOaejWejYHCN4Ye2XBoUT3q2IXJQpMkmffJiBNftv8QSwF4",
"width" : 800
}
],
"place_id" : "ChIJLfySpTOuEmsRsc_JfJtljdc",
"scope" : "GOOGLE",
"reference" : "CoQBdQAAANQSThnTekt-UokiTiX3oUFT6YDfdQJIG0ljlQnkLfWefcKmjxax0xmUpWjmpWdOsScl9zSyBNImmrTO9AE9DnWTdQ2hY7n-OOU4UgCfX7U0TE1Vf7jyODRISbK-u86TBJij0b2i7oUWq2bGr0cQSj8CV97U5q8SJR3AFDYi3ogqEhCMXjNLR1k8fiXTkG2BxGJmGhTqwE8C4grdjvJ0w5UsAVoOH7v8HQ",
"types" : [ "restaurant", "food", "establishment" ],
"vicinity" : "37 Bank St, Pyrmont"
},
{
"geometry" : {
"location" : {
"lat" : -33.867591,
"lng" : 151.201196
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/travel_agent-71.png",
"id" : "a97f9fb468bcd26b68a23072a55af82d4b325e0d",
"name" : "Australian Cruise Group",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 242,
"html_attributions" : [],
"photo_reference" : "CnRnAAAABjeoPQ7NUU3pDitV4Vs0BgP1FLhf_iCgStUZUr4ZuNqQnc5k43jbvjKC2hTGM8SrmdJYyOyxRO3D2yutoJwVC4Vp_dzckkjG35L6LfMm5sjrOr6uyOtr2PNCp1xQylx6vhdcpW8yZjBZCvVsjNajLBIQ-z4ttAMIc8EjEZV7LsoFgRoU6OrqxvKCnkJGb9F16W57iIV4LuM",
"width" : 200
}
],
"place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
"scope" : "GOOGLE",
"reference" : "CoQBeQAAAFvf12y8veSQMdIMmAXQmus1zqkgKQ-O2KEX0Kr47rIRTy6HNsyosVl0CjvEBulIu_cujrSOgICdcxNioFDHtAxXBhqeR-8xXtm52Bp0lVwnO3LzLFY3jeo8WrsyIwNE1kQlGuWA4xklpOknHJuRXSQJVheRlYijOHSgsBQ35mOcEhC5IpbpqCMe82yR136087wZGhSziPEbooYkHLn9e5njOTuBprcfVw",
"types" : [ "travel_agency", "restaurant", "food", "establishment" ],
"vicinity" : "32 The Promenade, King Street Wharf 5, Sydney"
}
],
"status" : "OK"
}
The above JSON gives you the photo_reference which can be used in the Google PLaces Photos API to get a URL, which can be used to load the photos using Glide or Picasso as per the requirement.
This might help:
Google API documentation to use GeoDataApi
https://developers.google.com/android/reference/com/google/android/gms/location/places/GeoDataApi
Also, below is a reference link:
https://developers.google.com/places/web-service/photos#photo_references
Use the Google Place Photos api: https://developers.google.com/places/android-api/photos?hl=en
I'm trying to build an app that would display the location name of a nearby place as well as its photo. I'm using Google Places API.
I would like to quickly convert photo_reference to the photo url.
Currently, if you do a nearby search, you would get back this json with 20 nearby locations (I have just pasted 2 locations as the json is too long):
{
"html_attributions" : [
"Listings by \u003ca href=\"http://www.easyinfo.co.za/\"\u003eEasyinfo.co.za\u003c/a\u003e"
],
"next_page_token" : "CvQB7AAAAEIeM4orJZv2oOV0Lt_mhGBbkvvJIyOwjcHeStpcC5E6fR7pNHw4VsS6cMSKzFRtyjr2LQ67GSvZwFGxw8f72sxwO6NggFNsSyakjO9bKovKpjCn4-uHoQyXESaxMqMci1fet-n9EJEp-VoBVXv-iIb_TvSO26iIXkGUeO-09-19ucYirFahOaNF0pp8ttod59XWgsLPs5r1PnkakrYj5JBgawP83T0ZMwIY52oViQJNGvR6_Bpf73dK68iUnj24w5QNZOql6uAlvFAg-BXs5FKjTWvQO0nR5woo5mJjDzYvbaxQkpMqFQ-BMEnZ3RX10xIQ3twWZWnygJl78DhqZH1DkBoUdcq5qakPBsg1QAn6BdcqdrQFz2g",
"results" : [
{
"geometry" : {
"location" : {
"lat" : -26.2020253,
"lng" : 28.0500779
},
"viewport" : {
"northeast" : {
"lat" : -26.2003339,
"lng" : 28.054075
},
"southwest" : {
"lat" : -26.2041059,
"lng" : 28.0470949
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id" : "0765607c0fdb4fae92e59390aff8e9501e98e59c",
"name" : "Fashion District",
"place_id" : "ChIJ2Vn0h5wOlR4RsOSteUYYM6g",
"reference" : "CpQBkAAAADboZMmtzHTuxZ85pPFK1fr-V0QslLUKBr8QZssBme4qcqLqs7SvrW-L2lJZg3S0PBYTGzuBU8M1F-Ll72tOdto-hfnxOCBOFfVIQEYe264r-IbWZjiFbuqOHBtU5z99jo3NrTxI29MvE8ogUYccX8FukX8eoAcpKti3Ik2VLvDziRKArf2EDy-6CtSbxeCnthIQyHx09QzBQ-pWEelLd6tCsxoUklzTqP7XbT6WbDCbIa42k1R4Iic",
"scope" : "GOOGLE",
"types" : [ "neighborhood", "political" ],
"vicinity" : "Johannesburg"
},
{
"geometry" : {
"location" : {
"lat" : -26.205586,
"lng" : 28.046573
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "671355d0ee1b5b0bbc1556321cea85ca164601de",
"name" : "KFC Carlton Centre",
"opening_hours" : {
"open_now" : true,
"weekday_text" : []
},
"photos" : [
{
"height" : 296,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/106295947298714161198\"\u003eKFC Carlton Centre\u003c/a\u003e"
],
"photo_reference" : "CmRdAAAAHcsAE2aiv5lIxLEo0c9xMUmH-chXoAeq6yrFPw5uy7LdppAMxBmg8_yvG9y9qaXqsH-IrcPsBD6QQvsfZnpml3U5zgh93nTbm5WONnYmutBSltIr9FwuK-awm8l1vyKeEhD9AqZpJwFLIWms2GeZGPR2GhSPp1JyAU_6_s1Im1_oH5tB4IjyXQ",
"width" : 607
}
],
"place_id" : "ChIJTQABc5kOlR4RAzBKVJ-lZNo",
"price_level" : 1,
"rating" : 3.7,
"reference" : "CnRmAAAAyOipUqSqkrpsKw96nu3YnT72kF2Yj_FWAd3wJkzM6a73ZZu8AJIXGsS-EmvugVGsgcEEcadiPfLJCdX3_molaMarh-sox9sIDp5M9LE6xhE1U-6WMXarQEjNu6_ATfQMdaR0nJPpxCX_AS2vbym1wBIQAA9yUjeeEXHF-HDsjTj9kBoUvRoUMWlNtyY30v0iWqMUzstMHOE",
"scope" : "GOOGLE",
"types" : [ "restaurant", "food", "point_of_interest", "establishment" ],
"vicinity" : "Commissioner Street, Carlton Centre, Johannesburg"
}
To get the photo url, you will have to call the following for each of the 20 photo_reference in the json - these calls to the google servers take a lot of time to return as you are calling the server 20 individual times:
https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=CmRdAAAAHcsAE2aiv5lIxLEo0c9xMUmH-chXoAeq6yrFPw5uy7LdppAMxBmg8_yvG9y9qaXqsH-IrcPsBD6QQvsfZnpml3U5zgh93nTbm5WONnYmutBSltIr9FwuK-awm8l1vyKeEhD9AqZpJwFLIWms2GeZGPR2GhSPp1JyAU_6_s1Im1_oH5tB4IjyXQ&key=API-KEY
Each call returns something similar to this which is the actual url for the image - if you click the link below, it goes to the actual picture.
https://lh3.googleusercontent.com/-B8FWOhhu2_k/VTdYJeFjRhI/AAAAAAAAAD8/JSJamjx4XyA/s1600-w400/
I think this is a highly inefficient way to obtain the links for the place photos, my rest API calls sometime returns after 10 seconds. Is there a way to do this efficiently?
I have a response from a google web service like the follwing
{
"html_attributions" : [],
"next_page_token" : "CpQCBgEAALxtLOBsfDviXsb8WHg4nGHrCETBydo0YcgOw-IHvFS4CQI1ZaM331dtA8Y3CxPeZZlF0IYjwQMp2A8W5A5UKtTrR4sQq1Um6FJgUNCpZzrcT6RwaPJKzOjbaFrPt5GqnQM6W1vxxdK9nKu5lyBbvLr0yJnzBWEAqyLyT2MFvak-_qDIR8b3yK3Efy34SsoHNnBnaANVc5hMztz7aWGphkTDNtEfuSZnQQ72jPg5_ey5F2G29in_QJXJlR9a3YYNGFmefLta2e0T34OGOhtvCinrdE7dcEUuaK55LV8TnP33HlGKC7PruXkv4AF8Xvxnlsk9ALVFdzECmJ4br6RTq3iWjBZ0z5FPNzqjfa6NNFiqEhDItZbJiBr9cEOaefilqJQSGhSybiB6SRFA8b-p86rFbiNEHjEo3w",
"results" : [
{
"geometry" : {
"location" : {
"lat" : 47.610399,
"lng" : -122.335791
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "8f7e7d038dbd13f283d1875ecf68d04fc2255561",
"name" : "GNC",
"opening_hours" : {
"open_now" : false
},
"place_id" : "ChIJ3zJ_hLRqkFQR0AxDtprgAjI",
"price_level" : 2,
"reference" : "CnRlAAAAoWRGwTPL4nLYI7qPZ2ukmXEdDWAScl5XASmeogPbQsOEvbFdXvb2cMYWsQZ1LR3QUYDo8djSpfKQc0BFLkA37iw_iTW2XRZy4568H5kReNd1xqVDjZyVmHPaWnKkJrTl0bJh_1P1Vpg-ntqUq-zVkRIQDVbTyrun8WsRA1eftayO8RoUSwjCBqkVaPwmyLJtXfJfk9qmF2I",
"scope" : "GOOGLE",
"types" : [ "health", "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "421 Pike St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.61,
"lng" : -122.33
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "82e45a03dca8dcb2192cc250777a11f2e06452de",
"name" : "Deluxe Foods LLC",
"place_id" : "ChIJ9dKBxbVqkFQRoDLJeSe0CZo",
"reference" : "CoQBcwAAAD1dI5pifx1zH03cyQyPsJL10GZc7UFMHEKgZVzmIbZ77ZUdoXAme2iE3WzBgcCUuwg3zv735Pey9MrLWXdbKBmBGl_mvs_dD6aMmNYEhwft54gVpabn0ZVNLrflNEyun-dUkoeHvx5GEWNj1UvYGB1zbCY1CSUwbiqH4Ouay9GpEhBHwGUT7yCYw9IC3hGGUUxgGhRHU_AjT-jsRrHxoC6o7YKVpCLyCg",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "PO Box 30102, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.607573,
"lng" : -122.333167
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "695bf0d73be3b5f55ca43fe14abce48f9853ef15",
"name" : "Community Grocery",
"opening_hours" : {
"open_now" : false
},
"place_id" : "ChIJNeh4UrFqkFQRV3OXAHsHZxg",
"reference" : "CoQBcwAAALpG-2YSWEiceu-5h5km-SYuQelZR70nMSMg9uhs38uPusDF4s_5hnf6eQ8ORGJf7JGv9w9il4cL9to8r0bcA7HxK2ghxkrWlBbcP2asPWJTCdzrQB-uUs9TKxHc-kldayis9zmLQtHoDW_J8sSXlZHnHNYPol9VjKZIUiIlpYTNEhD9a-VcIRldCMVZhHNow03fGhRsw5lDMDZOcVEHdRBz2NAuhTdZ3Q",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "415 Seneca St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.608163,
"lng" : -122.335371
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/wine-71.png",
"id" : "fde562e2d1e74e8ea18d3f758a05fe78c45d9346",
"name" : "Essential Market",
"opening_hours" : {
"open_now" : false
},
"place_id" : "ChIJvYQm8LNqkFQRjJM6WIcYE1A",
"rating" : 3.8,
"reference" : "CoQBcgAAALd33oAy_-Vxbcbf_gMywCqPHjyZixFi-yc1glcFFxbtpTDywxT-vPFKNExST7K305Ohv0AkhA_Br2Eh8AeetN-D7PxuW3mK5vsYPUbIfOTRWoM_CX2YH84cXOj9eFwGXwTiuXEOvOjhz8SYj59N4g78IUUDi-mfmGzd_C_jq90REhDJ3y45nfvr6IbfvapMnK0ZGhQDCjyU7Zu8ymTuQLGmoEsJRTVVGQ",
"scope" : "GOOGLE",
"types" : [
"liquor_store",
"grocery_or_supermarket",
"food",
"store",
"establishment"
],
"vicinity" : "1301 4th Ave, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.612122,
"lng" : -122.332044
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "6b4f8dc7039510bbbfca8fd12b359d444eef2be9",
"name" : "Clay's Market",
"place_id" : "ChIJdxjOE7VqkFQR4oDXOXnQEQ8",
"reference" : "CnRvAAAACC-kzX3pJo0x3OjptaM_wqWs5kbrk53V4xa6gYiOj3PP8Fo8L_DqSTjKRMqrF8bRGVfnTKtaLujZLvxkIgj7pNjyTAauRPKv0TL7dHpru66CyaJRNjoRSHME0xYHJJNj7VQDeLl5HO8dab0FZFrevxIQ6tZzbeqqRp6QEPf_Ue7XhBoU4Y3VkFBSCx_4b1pu1ApLYwXzLDQ",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "815 Pike St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.609336,
"lng" : -122.337791
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "691548827b64fe2609fb7c27abbb1bcbe224f327",
"name" : "Kress IGA Supermarket",
"opening_hours" : {
"open_now" : false
},
"photos" : [
{
"height" : 600,
"html_attributions" : [],
"photo_reference" : "CnRnAAAAl-_QCXEqC8UaTUMrQDzG_bDcP56Lf2i2CPbBmxYj71VlemLiDrQpC38wmDTwsHvoFF_pGjLBo4vQHfPjM2nSLrPmHQeotYySYTwBhOcXPF9ISdvUNjBbyGUwCUFyBDvdcdIzaChOO0bEi5JVZRxNhRIQVsyOvUEat6gFROdcoh95HhoUS-Mac5cLzJFt12vSx_E7m_VUIfI",
"width" : 398
}
],
"place_id" : "ChIJbdIhoLNqkFQRMTiHCN6W4nU",
"rating" : 4.4,
"reference" : "CoQBdwAAAN3wdCAgdfatcILheBD3VwNP0Z_Zqjq8niNljnqpzHYJ2ieG6VEgxvfMQCU8BfawcRxO7MTu08gXtElThcYPdrQy5KFfAgdj1dFqi8PUh5R7wKKChjGN-sPj2cqRSIR-K853WjMlNMAhZSJMc2XWAhlbmy2AbXoe_9LsPoQfYE72EhCOBHIK_E0gTGPetycfRP6MGhSlBGpKKlZL00qldn6Xd44Y1TDj7A",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1427 3rd Ave, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.606546,
"lng" : -122.335449
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "3f23cf0c8bfdbe746a69d518c031dcafbd266d64",
"name" : "Netzel Associates",
"place_id" : "ChIJ1Q6vb7FqkFQR0PCOSJtLQpM",
"reference" : "CoQBdAAAABiMSr5ILBmkVjTeRpVAVHij7jMxhTacAJvz9YTFXVQYCP8he5wD4pAfaOu5dBlI4oagjaPPq8qUif9_hYN_IHTKpYnHaFWqCoHsHe-6kKIO1sIiE5qdLG-Buz2tQkVIPmzPqk67X60dgRux31vZjf10dg6BvizIiMTk5Q8D4AZWEhCJKbWcknUroTKKyatmH0JwGhS2i7O8iONEf9A5_qTBl3N1K8v4fg",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1111 3rd Ave # 2500, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.612607,
"lng" : -122.336984
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "1672b9dd46c6dcb5ae1409d0f87b23f1c38f33d0",
"name" : "Market Fresh Winter Garden",
"place_id" : "ChIJrdhDMksVkFQR0ugNKk-w7Fk",
"reference" : "CoQBfAAAAAxvLHmqlrTabI8g1bBkEMySU_pDqmYpmKmWNie37kRzknuKxRQkbPiVOs7cCB4yxiJGZ2X79qQW1dTFpJ9EE4jclrSKMFqzDqzPET1VHCR_imCSIWRLz_51iveURUW8r2GszBwCDISlu1iB1GBuLT58UB8Ghs-N3_yGxqaE_1JAEhBJn_a6kPPhJqGq9_pr4AifGhQNEEknt7JSyB1mvXCDgZ4o83aNng",
"scope" : "GOOGLE",
"types" : [
"meal_takeaway",
"restaurant",
"grocery_or_supermarket",
"food",
"store",
"establishment"
],
"vicinity" : "509 Olive Way, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.613069,
"lng" : -122.329411
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "08e8916d1ade44b3403b1a1268fc038bd449952b",
"name" : "Pike Grocery",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 384,
"html_attributions" : [],
"photo_reference" : "CnRnAAAAmx9YeUnwUAcOesWmlueyy2ZJQT-GLpRSd0_WXWHV0pP7c42-FvQYcfkpRoDPCHiqlzJSWa_fPcqADGvAi_HaLFCcUhcIbbrTeJOSvlP1bA_ACdWmPBDF26vYc6xAJqmtR37EXiZ5j-sVYh09_hpEzRIQap8C87zKuwIYfsR6zsAg2RoUsAbkV4FLlFmsKTthHEbVdd0G9VM",
"width" : 512
}
],
"place_id" : "ChIJMwdemspqkFQRUqQ91N-ufeo",
"reference" : "CnRvAAAAPclUek8vRV5Wcsbp4G08nttAphmKfTASUhTAR4I8vUnTFkSp7NP06JC4y3Xj7qTr9I105d7HpVkQJhuH6HDyLzej-FM5yDc7LqNMmkrAN3CcmQezcd9MhSZkdXdTDKTsYaZV4GgWogi4lqFcUgfhDBIQd1M7Sq4-EWJ4Y6cNUJPKHBoUnHoVxfWyl3lK7imAxJkxGkKNH9k",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1011 Pike St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.606521,
"lng" : -122.337704
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "110c00b34dc635662716772ab4a0e0f6deced28a",
"name" : "Young's Market",
"place_id" : "ChIJ44qIiLFqkFQRw1TsXz9H2kg",
"reference" : "CnRwAAAAxMdsj6FXUIP8S9c42j9nSu7XtMyNY612TS6njqubsoZLBJwpr6GmxsrRKREPttLtBSYWOmq4gP2ovwO2utvqtLpjHcWs2YCFhNKj4k8Sz7F_d3aoAzOwNKmIp88bPxMbPUJj9eKI5gvTxct9CfRe4BIQolTWxCAybHKlUTMnfVgNfhoUlO1jmn7wrjUBVBcnZYe5QubTl_w",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1210 1st Ave, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.608777,
"lng" : -122.33973
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "d2f9218e208a84da7c7a7e2980cebd3671a8f386",
"name" : "Double Dorjee",
"place_id" : "ChIJkX3s-LJqkFQRQRexqCN0jQY",
"reference" : "CnRvAAAAoRDVxZ8W_qmEWPmjxXulAz9lS562rRQgirkEIhgXesLoXNgcJsw2iQIymEUKRmvQwrAOuLYrOIa8t1yPQdYYAvEajqIxcZ0PWzMEUeaDuCKL37p_WGzKOJuHhv0ki_3Z10BOPwmCNvo5XiOfz7j1ABIQK9UdmY_KTIYTP8tnoG5T_RoULYEoZrNBYy8EULQD7LUGs_E7krU",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1501 Pike St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.608248,
"lng" : -122.339523
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "efeff82fc657a72cf8a3079aabe0e27d0d91a6c5",
"name" : "Lina's Fruit & Produce",
"place_id" : "ChIJD22J-LJqkFQRxhEAGumCphs",
"reference" : "CoQBeAAAAFcDpYes7w9SDBBHP_bOYNQrM1CUQichslNR-hyXATeyWMptKnIEdS27q0HR5BLfQAzQvgP_yIM2ElDrfSjtSdTVgiJlWZuVhtsBRIdV4n8cthl6uihZJnmtevrBYRq7GEid2Bp_IZiLJ4K6nYIpsyKlJNpBBvcKASbEsn4TAtM-EhCYsE2fgYPwEgX4ZHAkU6t7GhS2-N0cGpHzmVMAgNMKYP2GCW23-g",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1431 1st Ave # 7, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.605109,
"lng" : -122.333955
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "d81b188da1c901ec10149c5224e6fd1beac9ef9c",
"name" : "Second Avenue Sundries",
"place_id" : "ChIJexG9_rBqkFQRi7Zb8KM4P98",
"reference" : "CoQBeQAAAOH07x4jtyj3WTa6sWNSHXCPGItPL7kbSJbQFreF2VUJ-vxjenChmIoGcvsIREYEsV_dZYyXG3RoMpezUCUkuIvLsaEt1wxJcK6t0tM8QHylTdcc9IJRmjE_npy9rTbIehBixa5ESV1EGmF_rhyHQJyhPjAz7hmDcdlysEBRuySsEhAq3UlVuENA0aC8L59q8ZEFGhSUrFU9dmUkkl24SQ6RMQvA74mB5w",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "999 3rd Ave, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.614062,
"lng" : -122.335451
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "69ff94699431b37223bdea4fd7792c7244a6b36c",
"name" : "Sphere Foods",
"place_id" : "ChIJ1ef53EoVkFQRlYzOwPY7DhA",
"reference" : "CnRuAAAA6qjCWZS9h_Eb5x5UOAN2J99LIsJ9NEVR-LtbjUoLKx5OJmLmGGYEazQmbf02Rp8TrqyEVeE41rHimDGdvnQkj5WbLrxQCVM195Y3bLssymy7kUTFVaiclgZjVdEPf5WLcC9Xl6JjfiWxqN-5I1oEihIQZtGMYRH317G1c7rRQWd9MxoUmSFfTX5FwgECzfDH7hRFX4F5mJA",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1700 7th Ave # 2100, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.614425,
"lng" : -122.334307
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "e5be7cde6eb52cb0a5a7aa975ea915e2f80bd7dc",
"name" : "Stewart Street Market",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 1152,
"html_attributions" : [],
"photo_reference" : "CnRnAAAAqeZQn6gaLGIJib2WaNAcw7GdNLJuCc6AvrMCF543GBpl9tgLJ99CS0DmrdbHyWVMcw_H7q_LZgOqqKLwkilB95SjXsJqu4O3KMVQQAqtQWHW27u2vKVkTOqxAWTDppdManOPMUlFP2LLN1zya33z2xIQY-si5NTVqW9CpTd2AhP9NxoURwp9wSSgmZY2dtC1q6OezNsUvQw",
"width" : 2048
}
],
"place_id" : "ChIJ7yBfx0oVkFQRcLjVXNF_3qg",
"reference" : "CoQBeAAAADTkEpb503o9qN93lxGtIlh8x-uyIgRIs0Pj_-gGXpxQoQkAnIGcmVYgDLEzcFtpgzDchjxRWmns1RPUhqnThNJp4_VmG3ZP42zFNDAO_Q2_YowPiM7Wgz3oQsr66uIEBKZnNW9QRrd_GMbA64OdLZGrn7wZwvdp5UWCCnJJe0NFEhBKdwGNlHZTu2Y4BOi6Zl-lGhSbbDS4npeTaLx_cwgpmTmKUpp43g",
"scope" : "GOOGLE",
"types" : [
"convenience_store",
"grocery_or_supermarket",
"food",
"store",
"establishment"
],
"vicinity" : "1812 8th Ave, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.609322,
"lng" : -122.325655
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "87b467979468e6d2b5b203c7486d84e08505dd17",
"name" : "Plaza Select Foods",
"photos" : [
{
"height" : 720,
"html_attributions" : [ "From a Google User" ],
"photo_reference" : "CnRnAAAAhzdJBafPaRrh7mLSuB87bVza6ErJKRSvyNKU6pGa1EcblihzmqNx67HZQog-EO7wkvag7KP0bNXWvNXo9RF5u2vYNxZZ-5v7Z7KhL7tOmfWi7U7n6aFr9Sls_fZ_KcpBmH-m63Nl4H6E5GDFZwwNuxIQJUHOGAtXDDa9YT62KVkEjhoUVenpQc8oBGHYJOwTPiJDxSf2aH8",
"width" : 960
}
],
"place_id" : "ChIJy1bFH7ZqkFQRXpKoZ2NFh2Y",
"reference" : "CoQBdAAAAJZ0WNOu_ProGJ7t62FbE2ADOx6sGGH0YIR1KNGRqiZ9scWKjBjMhUHb3VNKZzEuvFUIBPOjrfBtkbjpEUthCC8HHbe_hsuLCyp2FUi2AFDVgBWB49X4fPla0IcNoOECfEzwRskswcKgcNyob1wt_mB2nEEbQVFDr8W6vhRsl1EyEhBgAGQ9WXQzLHZzzRs84JEyGhRM0Rx5TiF0g11uFT5mg6v6uHr97g",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1024 Madison St, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.608802,
"lng" : -122.340552
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "14a2e0601f06734e7c8be82ed00d3806e3f9ecd4",
"name" : "Corner Produce",
"place_id" : "ChIJn9FR9rJqkFQR89xobVdunBE",
"reference" : "CnRwAAAAFad6cCCAww55VmSDqvH9XCZzHx5LoyFH2MHT5YkFM9NZNr7L3eKhd02_VnSEunZ3sMlCyvT37k-Tg6EZV4MuWVOZ2imbVrPX1OeRgJWS6OgXx-FHabcAj2W5jgRkCsHwEhjwTW0DNYNDX5GEn-a1HRIQNsCEN53Q1PC3NAHCTutgARoU-4Qq8ZOFJfF3Lyyc1Xf66FN8KQ0",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1500 Pike Pl, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.60884,
"lng" : -122.340616
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "2a7a890254bcb2b1ae409cbf78d4e741800f036f",
"name" : "Oriental Mart",
"photos" : [
{
"height" : 460,
"html_attributions" : [
"\u003ca href=\"https://plus.google.com/115115924044576716973\"\u003eMatt Good\u003c/a\u003e"
],
"photo_reference" : "CnRtAAAAYab-XNz1Tm-iiB1qfxZJiC-T--LI7Mr5haR62p-RlGTrAIAPk2lhWogWOTQcFjPIHCiM2aYN2Iu-qkqPVGsEGony955zdEo6T3oOUKgNvT5WZvw6w_WU3aNdyLNh0xh-wRi4TNi6T70jutWPs6qkrRIQbdKBlQ6Yk1ROLxYnfSYF0BoUn9chrbaMj73dJleIqEzjxmi-9nY",
"width" : 816
}
],
"place_id" : "ChIJt7FX9rJqkFQR-R2iORwxyXQ",
"reference" : "CnRvAAAA8b_D2XlfYEVl6Oi5uYGRdJILg6dW3oRrLu8Q9xd9EukH2omaTGNlupKgahjJREN5jiNKdj9FSmpR4F0Du2XMbW9xmMEpO6CmPEG8zbBHQVNBs2zHzU2_m0WFnLv21mdxfAd20GVX6f6cdZ2COkb_KhIQhh6kZ-vny430yF0EvmH7eBoUZ3TVjq_RHxXlY_jpaN1qk2Yc3UM",
"scope" : "GOOGLE",
"types" : [
"convenience_store",
"grocery_or_supermarket",
"food",
"store",
"establishment"
],
"vicinity" : "1506 Pike Pl #509, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.608918,
"lng" : -122.340729
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "301d23a6579067833036e39ef46357e1d8e5ba68",
"name" : "Frank's Quality Produce",
"place_id" : "ChIJpdHb8LJqkFQRo8X7RoXoz2U",
"reference" : "CoQBeQAAAKEBHFRM9OPUb4CWC5bC1HYamXOFc0lzWyWCX-4eyhtOOIEvcxHIsj4y1xkBiXTIsttPetJYNr5KKux3Y3q5ZF7SKutTqiRYbk0hESohet1_EdcnPU31_IBRLo9W-T_7wiDb3FnN24rYmz9J9Kz7pxhlyKyR2VLMuTLMALNLJC2YEhChDDy463zp0HRiZaAsFSG3GhTe1n0deejJDnxNB2AK4zOf1HGkMw",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1508 Pike Pl, Seattle"
},
{
"geometry" : {
"location" : {
"lat" : 47.609231,
"lng" : -122.340848
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "228c792a04f0d9c3b8086b9f857521945f87c975",
"name" : "Choice Produce",
"place_id" : "ChIJmbBY97JqkFQR4JkuKXVDT3A",
"reference" : "CnRwAAAAWE1aK6eOe-rdRjgs2HJZHB__viCdWu2u7Qx0chME1CgDnnOycW_dcim98Szb2bzUjTy12wGk9fGO42jpywL-Zevm_ilfqi6q7jvRQxSGvsybbZau_Tc_orGj41Gz8fWK1R6_YvAT1n0II9DPFca1lxIQviRIxzWL3GRqyK3dun_4zRoUrNDpGHpGZHKUngGPiBLLH46zOqI",
"scope" : "GOOGLE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "1514 Pike Pl, Seattle"
}
],
"status" : "OK"
}
I need to parse it and get the lat and long values
I have assigned it like this
JSONArray JA=new JSONArray(result);
JSONObject json= null;
Where result contains the web service response. How can I parse it and get the required values?
try this code.you will get lat and lng value:
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
// Getting JSON Array node
results = jsonObj.getJSONArray("result");
// looping through All Contacts
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
JSONObject geo = c.getJSONObject("geomatrics");
JSONObject place = geo.getJSONObject("location");
String id = place.getString(lat);
String name = place.getString(lng);
}}}
FYI, the response JSON is an Object, not an Array.
Steps to get lat/lng values:
Get results JSON array from received JSON Object response
Iterate through all the sub JSON Objects, then first get geometry sub object.
From geometry sub object, get location object. From location object, parse and get lat/lng values.
Please don't ask for code as there are many JSON tutorials exist on web but you can use below methods for parsing:
getJSONObject()
getString()
getLong()
There are multiple locations in the JSON so you will need and ArrayList to store all of them.
I recomment using ArrayList<HashMap<String,Double>>
Assuming you have the result as a String object named as result:
ArrayList<HashMap<String, Double>> list = new ArrayList<HashMap<String,Double>>();
JSONObject jsonObj= new JSONObject(result);
JSONArray results = jsonObj.getJSONArray("results");
for(int i=0;i<results.length();i++){
JSONObject temp = results.getJSONObject(i).getJSONObject("geometry").getJSONObject("location");
Double lat = temp.getDouble("lat");
Double lng = temp.getDouble("lng");
HashMap map = new HashMap<String, Double>();
map.put("lat",lat);
map.put("lng",lng);
list.add(map);
}
now you can retrive any position by using
Double lat=list.get(4).get("lat");
Double lng=list.get(4).get("lng");
Hope it helps. cheers :)
Cast the response to JsonObject like this
JSONObject jsonObj = new JSONObject(result);// where result is the response you got
Get the result array like this
JSONArray results = jsonObj.getJSONArray("results"); // where results is the tag in resposne
Now you have the entire array in results
for loop the entire stuff
for(int i=0;i<results.length();i++)
{
JSONObject location = results.getJSONObject(i).getJSONObject("geometry").getJSONObject("location");;
String lat = location.optString("lat");
String lng = location.optString("lng");
}
If you need the lat and long inside an array, add those to an array.
So I'm running the following Google Places API call:
https://maps.googleapis.com/maps/api/place/search/json?location=34.0467359,-118.441764&rankby=distance&sensor=true&key=MY_API_KEY&types=restaurant
part of my JSON output is:
"results" : [
{
"geometry" : {
"location" : {
"lat" : 34.047332,
"lng" : -118.443431
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "03ed19ca32b20080897e31095e6eed2715cde819",
"name" : "Del Taco",
"opening_hours" : {
"open_now" : true
},
"price_level" : 1,
"reference" : "CnRrAAAA6Dqit_GeW6rLNFXGo4cb-SBPdIr09vVlvU7n2W8QVesy6svOTDQu-lkhbdWPBPM64uR3a8pwer_dwbwi1weyKXIhTYAa0deSu4-Xp3S8K2LvPexGFCd7oasJ1dK8ZtCAA4IvwQbpkM6GaJ9xCn1jqRIQ63-ofgMIddQpjtHoJcOlVhoUDwWYwlyV3hyVg-4jYExfcPPxhU4",
"types" : [ "restaurant", "food", "establishment" ],
"vicinity" : "11066 Santa Monica Blvd, Los Angeles"
},
{
"geometry" : {
"location" : {
"lat" : 34.047475,
"lng" : -118.443474
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "6e6ae3ea79f06eb6c790ed533a35d9b3abc6c344",
"name" : "Moon House Chinese Cuisine",
"opening_hours" : {
"open_now" : true
},
"price_level" : 1,
"reference" : "CoQBfAAAAFmSc3ErmitzFoxmNvuNXG5x0iJCWpXITFr9VtKcA5SRpcSyXmFW9LR_F2vLVUC4dCCSo7xQm_l_JaOuAttZmYJDonYNnobGAT6fVXR1Gw_p3lmJWwKgd7zTqeMCGXPk8kBT6ztYWzLpTEnKtg2u9jFRvYUerdBsv1Keso3yXVESEhBGizJBrGPMBDz2nte3wF81GhQ21SBkMNMSG6Bx0Ymi65rr2jyQBg",
"types" : [ "restaurant", "food", "establishment" ],
"vicinity" : "11058 Santa Monica Blvd, Los Angeles"
},
I check the JSON that's returned, I don't even see the "reviews" array. but I check the google maps for the same place and I can see that there are a few reviews. Any idea why it wouldn't include that?
Allright the problem is that place API doesen't include reviews. But if u want to get reviews then u have to make place detail request.
eg: this is sample place request
https://maps.googleapis.com/maps/api/place/nearbysearch/json?
location=34.0467359,-118.441764&radius=1000&sensor=true
&key=YOUR_PLACE_API_KEY&types=restaurant
this is sample place details request
https://maps.googleapis.com/maps/api/place/details/json?
reference=REFERENCE_STRING_OF_THE_PLACE&sensor=true&key=YOUR_PLACE_API_KEY
Instead of search use near by search as follows:-
and also include radius :
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=34.0467359,-118.441764&radius=50000&sensor=true&key=MY_API_KEY&types=restaurant
You can get review array by place detail API
https://maps.googleapis.com/maps/api/place/details/json?placeid={place_id}&key={api_key}
where place id is results id field from your response,
Ex. "id" : "03ed19ca32b20080897e31095e6eed2715cde819",