使用google places api我正在尝试检查搜索结果当前是否已打开。如果是这样,我想在标记的infowindow处显示“仍然打开”的文本。这是代码示例:
// Get the place details. Show the information in an info window,
// anchored on the marker for the result that the user selected.
function showInfoWindow() {
var marker = this;
places.getDetails({ placeId: marker.placeResult.place_id }, function(
place,
status
) {
if (status !== google.maps.places.PlacesServiceStatus.OK) {
return;
}
infoWindow.open(map, marker);
buildIWContent(place);
});
}
function buildIWContent(place) {
if (place.opening_hours.open_now) {
var openNow = place.opening_hours.open_now;
if (openNow === true) {
document.getElementById("iw-now-row").style.display = "";
document.getElementById("iw-now").innerHTML = "still open";
}
} else {
document.getElementById("iw-now-row").style.display = "none";
}
}
此代码导致我的控制台上出现“未捕获的TypeError:无法读取未定义的属性'open_now'”,尽管我仍然可以获得我想要的信息。有人知道这里有什么问题吗?
编辑:根据geocodezip的评论,我创建了一个简单的fiddle。通过单击标记,虽然信息正确显示,但控制台会返回错误消息。