Как получить широту и долготу с адреса с помощью API геокодирования Google? - PullRequest
2 голосов
/ 10 марта 2020

Создание приложения для изучения погоды JavaScript. Мне удалось получить погоду из OpenWeatherMap API для местоположения компьютера, когда страницы загружаются на основе широты и долготы. Затем у меня есть выпадающий список, который автоматически заполняется с помощью API Google Места, затем у меня есть кнопка отправки, где я хочу, чтобы преобразуйте название места в широту и долготу, чтобы узнать погоду из OpenWeatherMap для нового местоположения. Я не могу понять, что можно извлечь из результатов.

Сначала: JSON данные:

   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Tbilisi",
               "short_name" : "Tbilisi",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Didi digomi",
               "short_name" : "Didi digomi",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Tbilisi",
               "short_name" : "Tbilisi",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Georgia",
               "short_name" : "GE",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Tbilisi, Georgia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 41.8438937,
                  "lng" : 45.0176811
               },
               "southwest" : {
                  "lat" : 41.6210248,
                  "lng" : 44.6600246
               }
            },
            "location" : {
               "lat" : 41.7151377,
               "lng" : 44.827096
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 41.8438937,
                  "lng" : 45.0176811
               },
               "southwest" : {
                  "lat" : 41.6210248,
                  "lng" : 44.6600246
               }
            }
         },
         "place_id" : "ChIJa2JP5tcMREARo25X4u2E0GE",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
} 

, затем мой код, где я могу получить STATUS нормально, но я не могу понять, как изменить его, чтобы получить широту и долготу:


var request = new XMLHttpRequest();

                request.open('GET',link,true);
                request.onload = function(){
                var obj2 = JSON.parse(this.response);
                if (request.status >= 200 && request.status < 400) {

                var newLat = (obj2.status);
                document.write(obj2.status);
               // var newLng = (obj2.results.formatted_address);
                alert(newLat);

Это приводит к предупреждению «ОК» и к документу, на котором написано «ОК», но когда Я пытаюсь изменить его, чтобы получить данные о широте и долготе, они выходят из себя.

Пожалуйста, помогите.

...