Как мне точно передать параметры в URL?

#android #google-maps #url

#Android #google-карты #url

Вопрос:

  void url_get(double lati, double longi) {
            URL url = null;
            try {
                url = new URL("https://maps.googleapis.com/maps/api/place/search/json?amp;location=" lati "," longi "amp;radius=3000amp;types=hospitalamp;sensor=trueamp;key=MY_KEY");
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
  

Я не получаю никаких выходных данных для этого.

Однако, когда я заменяю lat и long жестко заданными значениями, я получаю правильный вывод.Не могли бы вы, пожалуйста, помочь мне в этом?

 "https://maps.googleapis.com/maps/api/place/search/json?amp;location=17.739290150000002,83.3071201amp;radius=6000amp;types=hospitalamp;sensor=trueamp;key=MY_KEY"
  

Это правильный способ выразить это при жестком кодировании.

Комментарии:

1. каковы значения lati и longi ?

2. I am not getting any output for this. В этом случае у вас было это исключение! Самое меньшее, что вы могли бы сделать, это опубликовать значение url , которое вы получаете.

3. попробуйте войти lati в систему и longi перед созданием URL-адреса

4. Значения lati и longi передаются с помощью другой функции. Эта функция работает нормально.

Ответ №1:

Пожалуйста, попробуйте это

         Uri.Builder builder = new Uri.Builder();
        builder.scheme("https")
                .authority("maps.googleapis.com")
                .appendPath("maps")
                .appendPath("api")
                .appendPath("place")
                .appendPath("search")
                .appendPath("json")
                .appendQueryParameter("location", "17.739290150000002,83.3071201")
                .appendQueryParameter("radius", "6000")
                .appendQueryParameter("types", "hospital")
                .appendQueryParameter("sensor", "true")
                .appendQueryParameter("key", "MY_KEY");
        String myUrl = builder.build().toString();
  

Комментарии:

1. Вы вообще не используете double lati, double longi . Или двойников. Таким образом, вы полностью избегаете проблемы.

2. Нет, нет. Я хочу использовать lati и longi в своем URL. Точно так же, как я писал в первом случае. Но это не давало правильного вывода.