Site icon C1CTech

Google Places API Example with AutocompleteTextView(Kotlin/Java)

<p>Here is the simple example of <span style&equals;"color&colon; &num;008000&semi;"><strong>Google Places SDK<&sol;strong> <&sol;span>for Android returns place predictions in response to user search queries&period;As the user types&comma; the autocomplete service returns suggestions for places such as <em><strong>businesses&comma; addresses&comma; latitude&comma; longitude etc<&sol;strong><&sol;em>&period;<&sol;p>&NewLine;<p>Get the full code from <a href&equals;"https&colon;&sol;&sol;github&period;com&sol;arunk7839&sol;GooglePlaceAPIExample">Github<&sol;a><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><amp-youtube layout&equals;"responsive" width&equals;"1200" height&equals;"675" data-videoid&equals;"JaQ9vukd&lowbar;0Q" title&equals;"Android Place API Example"><a placeholder href&equals;"https&colon;&sol;&sol;youtu&period;be&sol;JaQ9vukd&lowbar;0Q"><img src&equals;"https&colon;&sol;&sol;i&period;ytimg&period;com&sol;vi&sol;JaQ9vukd&lowbar;0Q&sol;hqdefault&period;jpg" layout&equals;"fill" object-fit&equals;"cover" alt&equals;"Android Place API Example"><&sol;a><&sol;amp-youtube><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p>You can add <strong><span style&equals;"color&colon; &num;008000&semi;">autocompleteTextView<&sol;span><&sol;strong>  to your app in the following ways&colon;<&sol;p>&NewLine;<p>1&rpar; Autocomplete widget to save development time and ensure a consistent user experience&period;<&sol;p>&NewLine;<p>2&rpar; Get places predictions programmatically to create a customised  UI&period;<&sol;p>&NewLine;<p>Here we will go with <strong><span style&equals;"color&colon; &num;008000&semi;">Autocomplete<&sol;span><&sol;strong> widget<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;000080&semi;"><strong>Obtaining Google API Key<&sol;strong><&sol;span><&sol;p>&NewLine;<p>In order to make requests to Google Places API you need to provide your API key&period; You can get your API key by going to <strong><a class&equals;"ref-link" href&equals;"https&colon;&sol;&sol;code&period;google&period;com&sol;apis&sol;console" target&equals;"&lowbar;blank" rel&equals;"nofollow noopener noreferrer">Google Places APIs console<&sol;a><&sol;strong>&period; The same key can be used for all other google services&period;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><strong>1&rpar;After obtaining the api key add the API key in the manifest file under application tag like&colon;<&sol;strong><&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;008000&semi;"><strong>AndroidManifest&period;xml<&sol;strong><&sol;span><&sol;p>&NewLine;<pre><code>&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"utf-8"&quest;&gt&semi;&NewLine;&lt&semi;manifest xmlns&colon;android&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;apk&sol;res&sol;android"&NewLine;package&equals;"c1c&period;googleplaceapiexample"&gt&semi;&NewLine;&NewLine;&lt&semi;application&NewLine; android&colon;allowBackup&equals;"true"&NewLine; android&colon;icon&equals;"&commat;mipmap&sol;ic&lowbar;launcher"&NewLine; android&colon;label&equals;"&commat;string&sol;app&lowbar;name"&NewLine; android&colon;roundIcon&equals;"&commat;mipmap&sol;ic&lowbar;launcher&lowbar;round"&NewLine; android&colon;supportsRtl&equals;"true"&NewLine; android&colon;theme&equals;"&commat;style&sol;AppTheme"&gt&semi;&NewLine;&NewLine; &lt&semi;meta-data&NewLine; android&colon;name&equals;"com&period;google&period;android&period;geo&period;API&lowbar;KEY"&NewLine; <strong><span style&equals;"color&colon; &num;ff6600&semi;">android&colon;value&equals;"ADD YOUR APIKEY"<&sol;span><&sol;strong>&sol;&gt&semi;&NewLine;&NewLine; &lt&semi;activity android&colon;name&equals;"&period;MainActivity"&gt&semi;&NewLine; &lt&semi;intent-filter&gt&semi;&NewLine; &lt&semi;action android&colon;name&equals;"android&period;intent&period;action&period;MAIN" &sol;&gt&semi;&NewLine; &lt&semi;category android&colon;name&equals;"android&period;intent&period;category&period;LAUNCHER" &sol;&gt&semi;&NewLine; &lt&semi;&sol;intent-filter&gt&semi;&NewLine; &lt&semi;&sol;activity&gt&semi;&NewLine;&lt&semi;&sol;application&gt&semi;&NewLine;&NewLine;&lt&semi;&sol;manifest&gt&semi;<&sol;code><&sol;pre>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><strong>2&rpar;Getting the Places list <&sol;strong><&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Here I am putting both files &period;kt&lpar;for Kotlin&rpar; and &period;java&lpar;for Java&rpar;<&sol;strong><&sol;span><&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;008000&semi;"><strong>MainActivity&period;kt<&sol;strong><&sol;span><&sol;p>&NewLine;<&excl;-- WP QUADS Content Ad Plugin v&period; 2&period;0&period;98&period;1 -->&NewLine;<div class&equals;"quads-location quads-ad2" id&equals;"quads-ad2" style&equals;"float&colon;none&semi;margin&colon;0px&semi;">&NewLine;&NewLine;<&sol;div>&NewLine;&NewLine;<pre><code>package c1c&period;googleplaceapiexample&NewLine;&NewLine;import android&period;os&period;Bundle&NewLine;import android&period;support&period;v7&period;app&period;AppCompatActivity&NewLine;import android&period;widget&period;Toast&NewLine;import com&period;google&period;android&period;gms&period;common&period;api&period;Status&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;Place&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;ui&period;PlaceAutocompleteFragment&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;ui&period;PlaceSelectionListener&NewLine;&NewLine;class MainActivity &colon; AppCompatActivity&lpar;&rpar;&comma;PlaceSelectionListener&lbrace;&NewLine;&NewLine; override fun onCreate&lpar;savedInstanceState&colon; Bundle&quest;&rpar; &lbrace;&NewLine; super&period;onCreate&lpar;savedInstanceState&rpar;&NewLine; setContentView&lpar;R&period;layout&period;activity&lowbar;main&rpar;&NewLine;&NewLine; val autocompleteFragment &equals; fragmentManager&period;findFragmentById&lpar;R&period;id&period;autocomplete&lowbar;fragment&rpar;&NewLine; as PlaceAutocompleteFragment&NewLine; autocompleteFragment&period;setOnPlaceSelectedListener&lpar;this&rpar;&NewLine;&NewLine; &rcub;&NewLine;&NewLine; override fun onPlaceSelected&lpar;p0&colon; Place&quest;&rpar; &lbrace;&NewLine;&NewLine; Toast&period;makeText&lpar;applicationContext&comma;""&plus;p0&excl;&excl;&period;name&plus;p0&excl;&excl;&period;latLng&comma;Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;&NewLine; &rcub;&NewLine;&NewLine; override fun onError&lpar;status&colon; Status&rpar; &lbrace;&NewLine; Toast&period;makeText&lpar;applicationContext&comma;""&plus;status&period;toString&lpar;&rpar;&comma;Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;&NewLine; &rcub;&NewLine;&NewLine;&rcub;<&sol;code><&sol;pre>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>For Java Developers&colon;<&sol;strong><&sol;span><&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;008000&semi;"><strong>MainActivity&period;java<&sol;strong><&sol;span><&sol;p>&NewLine;<pre><code>package c1c&period;googleplaceapiexample&semi;&NewLine;&NewLine;import android&period;os&period;Bundle&semi;&NewLine;import android&period;support&period;v7&period;app&period;AppCompatActivity&semi;&NewLine;import android&period;widget&period;Toast&semi;&NewLine;&NewLine;import com&period;google&period;android&period;gms&period;common&period;api&period;Status&semi;&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;Place&semi;&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;ui&period;PlaceAutocompleteFragment&semi;&NewLine;import com&period;google&period;android&period;gms&period;location&period;places&period;ui&period;PlaceSelectionListener&semi;&NewLine;&NewLine;class MainActivity extends AppCompatActivity implements PlaceSelectionListener &lbrace;&NewLine;&NewLine; protected void onCreate&lpar;Bundle savedInstanceState&rpar; &lbrace;&NewLine; super&period;onCreate&lpar;savedInstanceState&rpar;&semi;&NewLine; setContentView&lpar;R&period;layout&period;activity&lowbar;main&rpar;&semi;&NewLine;&NewLine;&NewLine; PlaceAutocompleteFragment autocompleteFragment &equals; &lpar;PlaceAutocompleteFragment&rpar;&NewLine; getFragmentManager&lpar;&rpar;&period;findFragmentById&lpar;R&period;id&period;autocomplete&lowbar;fragment&rpar;&semi;&NewLine;&NewLine; autocompleteFragment&period;setOnPlaceSelectedListener&lpar;this&rpar;&semi;&NewLine;&NewLine; &rcub;&NewLine;&NewLine; public void onPlaceSelected&lpar;Place place&rpar; &lbrace;&NewLine;&NewLine; Toast&period;makeText&lpar;getApplicationContext&lpar;&rpar;&comma; "" &plus; place&period;getName&lpar;&rpar; &plus; place&period;getLatLng&lpar;&rpar;&comma; Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;&NewLine; &rcub;&NewLine;&NewLine; public void onError&lpar;Status status&rpar; &lbrace;&NewLine; Toast&period;makeText&lpar;getApplicationContext&lpar;&rpar;&comma; "" &plus; status&period;toString&lpar;&rpar;&comma; Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;&NewLine; &rcub;&NewLine;&NewLine;&rcub;<&sol;code><&sol;pre>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;008000&semi;"><strong>activity&lowbar;main&period;xml<&sol;strong><&sol;span><&sol;p>&NewLine;<pre><code>&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"utf-8"&quest;&gt&semi;&NewLine;&lt&semi;android&period;support&period;constraint&period;ConstraintLayout xmlns&colon;android&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;apk&sol;res&sol;android"&NewLine; xmlns&colon;app&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;apk&sol;res-auto"&NewLine; xmlns&colon;tools&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;tools"&NewLine; android&colon;layout&lowbar;width&equals;"match&lowbar;parent"&NewLine; android&colon;layout&lowbar;height&equals;"match&lowbar;parent"&NewLine; tools&colon;context&equals;"&period;MainActivity"&gt&semi;&NewLine;&NewLine; &lt&semi;android&period;support&period;v7&period;widget&period;CardView&NewLine; android&colon;layout&lowbar;width&equals;"match&lowbar;parent"&NewLine; android&colon;layout&lowbar;height&equals;"wrap&lowbar;content"&NewLine; android&colon;layout&lowbar;marginTop&equals;"16dp"&NewLine; android&colon;layout&lowbar;marginBottom&equals;"16dp"&NewLine; &gt&semi;&NewLine;&NewLine; &lt&semi;fragment&NewLine; android&colon;id&equals;"&commat;&plus;id&sol;autocomplete&lowbar;fragment"&NewLine; android&colon;name&equals;"com&period;google&period;android&period;gms&period;location&period;places&period;ui&period;PlaceAutocompleteFragment"&NewLine; android&colon;layout&lowbar;width&equals;"match&lowbar;parent"&NewLine; android&colon;layout&lowbar;height&equals;"wrap&lowbar;content"&NewLine; &sol;&gt&semi;&NewLine;&NewLine; &lt&semi;&sol;android&period;support&period;v7&period;widget&period;CardView&gt&semi;&NewLine;&NewLine;&NewLine;&lt&semi;&sol;android&period;support&period;constraint&period;ConstraintLayout&gt&semi;<&sol;code><&sol;pre>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><strong>3&rpar; Run the above code<&sol;strong><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p><img class&equals;"alignnone wp-image-430 size-medium" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2018&sol;05&sol;Places1-171x300&period;png" alt&equals;"" width&equals;"171" height&equals;"300" &sol;>      <img class&equals;"alignnone wp-image-431 size-medium" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2018&sol;05&sol;Place2-172x300&period;png" alt&equals;"" width&equals;"172" height&equals;"300" &sol;><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;&NewLine;

Exit mobile version