«formatted_address» является нулевым для некоторых мест, но не для всех (Google Maps API). Почему это так? - PullRequest
0 голосов
/ 15 мая 2018

Я использую API Карт Google для JS, и у меня есть несколько маркеров на карте.У меня есть некоторый код для отображения адреса и имени каждого маркера на карте, но адрес иногда возвращается как неопределенный, но иногда это работает.

function createMarker(place) {
    console.log("adding place " + place.name + " loc=" + place.geometry.location.toUrlValue(6));
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
      map: map,
      position: place.geometry.location
    });
    var request = { reference: place.reference };
    service.getDetails(request, function(details, status) {
      google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent("<b>" + place.name + "</b><br />" + details.formatted_address + "<br /> <a href=" + details.website + ">Visit Website</a>");
        infowindow.open(map, this);
      });
    });
  }

Иногда, когда я нажимаю на маркер (который должен отображать информационное окно), он выдает ошибку вместо отображения окна.Ошибка:

Uncaught TypeError: Cannot read property 'formatted_address' of null

Почему это происходит?Если код правильный, есть ли вероятность, что Google не знает адрес всего?Может ли кто-нибудь помочь мне исправить это?

1 Ответ

0 голосов
/ 15 мая 2018

Я работал с этим API около 4 лет, и это вполне нормально. К сожалению, API Карт Google - это черный ящик, мы ничего не можем сделать, чтобы это исправить, но, возможно, вы можете связаться с ними, чтобы они могли оказать вам поддержку

Пока они дают вам ответ, я бы посоветовал вам оценить переменную для неопределенного значения, чтобы избежать ошибок и ошибок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...