JSONException:使用地理编码时

时间:2019-06-01 13:20:09

标签: java android api

我正在设置一个应用程序。该应用程序从firebase获取地址,我正在寻找使用地址解析,以获取该地址的经度和纬度,以便在该地址上绘制标记。我无法执行此操作,因为它返回了标题中所示的错误。我在下面附加了我的代码以供参考。明确一点,我正在使用Google API,我已经启动了试用帐户(输入了帐单信息)。我已经启用了Google提供的所有API。我知道还有另一个用户用几乎相同的代码问同样的问题,但是那里没有答案。

private void drawRoute(LatLng yourLocation, String address)
{
    mService.getGeoCode(address).enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response)
        {

            try
            {
                JSONObject jsonObject = new JSONObject(response.body().toString());

                String lat = ((JSONArray)jsonObject.get("results"))
                        .getJSONObject(0)
                        .getJSONObject("geometry")
                        .getJSONObject("location")
                        .get("lat").toString();

                String lng = ((JSONArray)jsonObject.get("results"))
                        .getJSONObject(0)
                        .getJSONObject("geometry")
                        .getJSONObject("location")
                        .get("lng").toString();



                LatLng orderLocation = new LatLng(Double.parseDouble(lat), Double.parseDouble(lng));

                Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.box);
                bitmap = Common.scaleBitmap(bitmap, 70, 70);

                MarkerOptions marker = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(bitmap))
                        .title("Order by " + Common.currentRequest.getPhone())
                        .position(orderLocation);

                mMap.addMarker(marker);

            }

            catch (JSONException e)
            {
                e.printStackTrace();
            }

        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {

        }
    });
}

0 个答案:

没有答案