java.lang.IllegalStateException: Places must be initialized

前端 未结 2 1181
情深已故
情深已故 2020-12-20 16:15

I was using the old Place SDK which was working fine But it is going to be depreciated and I move to new place SDK. I got keep the crashing report from a few devices.

相关标签:
2条回答
  • 2020-12-20 16:56

    I was also facing the same issue but I resolved with this code.

     dependencies {
          implementation 'com.google.android.libraries.places:places:2.0.0'
        }
    

    First Step: Initialize the Places SDK In OnCreate Method or you can initialize it on your Application Class

    if (!Places.isInitialized()) {
            Places.initialize(getApplicationContext(), getString(R.string.api_key), Locale.US);
        }
    

    Second Step:

     var fields=Arrays.asList(Place.Field.ID,Place.Field.NAME,Place.Field.LAT_LNG)
        var intent = Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields).build(this)
         startActivityForResult(intent, PLACE_PICKER_REQUEST)
    

    And in Activity Result

       override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
            super.onActivityResult(requestCode, resultCode, data)
            if (requestCode == PLACE_PICKER_REQUEST) {
                if (resultCode == Activity.RESULT_OK) {
                    val place =Autocomplete.getPlaceFromIntent(data);
    
                    lat = place.latLng?.latitude
                    lng = place.latLng?.longitude
                }
                else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
                    // TODO: Handle the error.
                    var status = Autocomplete.getStatusFromIntent(data)
                    Log.i("address", status.getStatusMessage());
                }
            }
    }
    

    This is the Kotlin Example but you can convert in JAVA Also, you can refer to this URL for Examples. Google Places SDK Example

    0 讨论(0)
  • 2020-12-20 16:56

    You must initiase the google places library, below is the code:

    Places.initialize(getApplicationContext(), getString(R.string.api_key));

    0 讨论(0)
提交回复
热议问题