How to get öffnungszeiten aus google places api
Hier habe ich einen code, der funktioniert gut, so ist hier einfach google places-code, zeigen mir die Orte, die aufgrund der Lage und ich fügen Sie ein Etikett auf jede Markierung so:
http://jsbin.com/UqafeCI/4/edit - CODE und DEMO
Nun möchte ich in label Ausstellungseröffnung Zeit, damit ich zu meinem code:
if (!!place.opening_hours.periods[1].open.time) open = place.opening_hours.periods[1].open.time;
und jetzt ist mein code sieht wie folgt aus:
google.maps.event.addListener(searchBox, 'places_changed', function() {
var places = searchBox.getPlaces();
for (var i = 0, marker; marker = markers[i]; i++) {
marker.setMap(null);
}
//For each place, get the icon, place name, and location.
markers = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
var image = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
//THIS CODE I ADD TO PREVIOUS CODE THAT WORK, so if there is open time to show in label
var open = 'No work time';
if (!!place.opening_hours.periods[1].open.time) open = place.opening_hours.periods[1].open.time;
//Create a marker for each place.
var marker = new MarkerWithLabel({
map: map,
icon: image,
title: place.name,
position: place.geometry.location,
labelContent: open,
labelClass: "labels", //the CSS class for the label
labelStyle: {opacity: 0.75},
labelAnchor: new google.maps.Point(22, 0)
});
markers.push(marker);
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
});
So, wie ich zeigen kann, öffnen die Zeit, die ein Objekt auf dem Etikett, wenn die Zeit vorhanden?????
UPDATE:
Ich versuche, um Anfrage und service.getDetails Funktion aber wieder kann ich nicht bekommen opening_time:
CODE:
google.maps.event.addListener(searchBox, 'places_changed', function() {
var places = searchBox.getPlaces();
for (var i = 0, marker; marker = markers[i]; i++) {
marker.setMap(null);
}
//For each place, get the icon, place name, and location.
markers = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
var image = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
var request = {
reference: place.reference
};
service.getDetails(request, function(place, status) {
var open = null;
try{
open = place.opening_hours.periods[1].open.time;
}
catch(e){
open='No work time';
}
var otvoreno = place.openNow+"</br>"+place.name;
//Create a marker for each place.
var marker = new MarkerWithLabel({
map: map,
icon: image,
title: place.name,
position: place.geometry.location,
labelContent: open,
labelClass: "labels", //the CSS class for the label
labelStyle: {opacity: 0.75},
labelAnchor: new google.maps.Point(22, 0)
});
});
markers.push(marker);
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
});
CODE aktualisiert: jsbin.com/IcIwIpUm/3/edit
InformationsquelleAutor MikiMrki | 2013-12-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen try-catch-Anweisung:
...ansonsten erhalten Sie eine Fehlermeldung, wenn eines der folgenden ist nicht definiert:
place.opening_hours
place.opening_hours.periods
place.opening_hours.periods[1]
place.opening_hours.periods[1].open
Aber aber, die Dokumentation scheint irreführend zu sein, es deutet an, dass die zurückgegebenen Ergebnisse sind placeDetails. Aber das ist nicht die Tatsache , die Sie benötigen, eine weitere Anforderung für jeder Ort, um Anfrage der placeDetails(die enthalten die
opening_hours.periods
wenn verfügbar)Es ist noch nicht Weihnachten 😉
aber seine 2 Tage, so das wird mein Weihnachtsgeschenk 😀 DANKE! bitte aktualisieren Sie mit der Funktion placeDetails
geben Sie mir nur eine Idee, wo man getplace Anfrage
Gibt es einen Grenzwert für Anfragen, für alle Webservices ist es eine grundlegende Grenze von 10 Anfragen pro Sekunde. Sie müssen auf Anfrage die details mit einer zunehmenden Verzögerung. Fest Beispiel: jsbin.com/ATaZEXE/1/edit
InformationsquelleAutor Dr.Molle