0

Google API を使用して Google マップからデータを出力する関数を作成しました。この関数は、場所の配列から出力するために呼び出されます。

問題は、場所の URL を出力する最後の document.body.innerHTML 部分が出力されない場合があることです。場所のレビューの側面を出力する for ループを削除すると、URL が常に表示されます。

function printme(place, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
  document.body.innerHTML += ('<br />'+ place.name + ' R: '+ place.rating);

  for (var i = 0, reviews; reviews = place.reviews[i]; i++) {

    for (var x = 0, aspectr; aspectr = reviews.aspects[x]; x++) {
      document.body.innerHTML += ('<br />'+'Aspect: ' + aspectr.type + ' ' + aspectr.rating);
    }

}

  document.body.innerHTML += ('<br />'+ '<a href = '+place.url+'>'+place.url+'</a>'+'<br />'); 
  }

  else {
    alert(status);
  }
}

それがなぜなのか、私には理解できません。

4

1 に答える 1

0

コードの周りに次の if ステートメントをラップしたところ、動作するようになりました。

if (typeof place.reviews !== 'undefined'){
于 2013-08-29T15:53:36.987 に答える