Ich stehe vor einem Problem, dass (in meinem Fall) nicht alle Bäckereien in dem Beispielcode gezeigt werden, obwohl Google definitiv über sie weiß, da ich sie in anderen Suchen finde.Wie finde und zeige ich alle POIs mit Google Maps API v3 innerhalb eines bestimmten Radius?
Zum Beispiel werden die zwei Bäckereien bei 52.543770, 13.441250 nicht angezeigt, obwohl sie innerhalb des angegebenen Radius sind. Warum ist das und wie kann ich es reparieren? Ich möchte alle Bäckereien finden, die Google kennt und nicht nur einen Teil davon.
<!DOCTYPE html>
<html>
<head>
<title>Place searches</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
<script>
var map;
var infowindow;
function initMap() {
var berlin = {lat: 52.540, lng: 13.430};
map = new google.maps.Map(document.getElementById('map'), {
center: berlin,
zoom: 15
});
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: berlin,
radius: 2000,
types: ['bakery']
}, callback);
}
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
</script>
</head>
<body>
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&signed_in=true&libraries=places&callback=initMap" async defer></script>
</body>
</html>
Dies ist eine gute Antwort, es scheint zu funktionieren, obwohl ich Bäckereien wie [diese] (https://www.google.com/maps/place/Lila+B%C3%A4cker/@52.543802,13.441251 , 21z/Daten =! 4m5! 3m4! 1s0x0: 0x89c2448a69a1423f! 8m2! 3d52.5438009! 4d13.4412414? Hl = de-DE) die immer noch nicht angezeigt werden. Danke trotzdem! – JohnnyFromBF
Ich habe mich manuell überprüft und das Ergebnis wird nicht angezeigt. Der einzige mögliche Grund dafür könnte sein, dass _Lila Backer_ nicht in der Kategorie 'bakery' registriert ist, aber es könnte unter einer anderen Kategorie wie 'restaurant' registriert werden. – ihimv
Hmm könnte sein, aber es wird angezeigt, wenn ich manuell nach Bäckerei suche. Jedenfalls hast du die richtige Antwort gegeben, sehr geschätzt! – JohnnyFromBF