Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Entwickler im Europäischen Wirtschaftsraum (EWR)
Auf dieser Seite werden die Unterschiede zwischen der Suche in der Nähe, wie sie in der Klasse Place (neu) und in PlacesService (alt) verwendet wird, erläutert und einige Code-Snippets zum Vergleich bereitgestellt.
Die alte PlacesService hat eine nearbySearch()-Methode, mit der Sie anhand eines Suchbegriffs oder Typs nach Orten innerhalb eines bestimmten Bereichs suchen können.
Die Klasse Place hat eine Methode searchNearby(), mit der Sie nach Orten innerhalb eines bestimmten Bereichs nach Ortstyp suchen können. Dabei wird eine erweiterte Auswahl von Ortsdatenfeldern und Ortstypen verwendet, um eine größere Flexibilität zu ermöglichen.
In der folgenden Tabelle sind einige der wichtigsten Unterschiede bei den Methoden für die Suche in der Nähe zwischen der Klasse Place und PlacesService aufgeführt:
Sie haben Zugriff auf eine erweiterte und regelmäßig aktualisierte Auswahl von Ortstypen.
Unterstützte textbasierte Suche mit dem Schlüsselwort.
Die textbasierte Suche wird nicht unterstützt. Verwenden Sie stattdessen Text Search (New).
Codevergleich
In diesem Abschnitt wird Code für Methoden zur Suche in der Nähe verglichen, um die Unterschiede zwischen dem Places Service und der Place-Klasse zu veranschaulichen. Die Code-Snippets zeigen den Code, der für die jeweilige API erforderlich ist, um eine textbasierte Suchanfrage zu stellen.
Nearby Search (Legacy)
Mit der alten Nearby Search können Sie anhand eines Suchbegriffs oder Typs nach Orten innerhalb eines bestimmten Bereichs suchen. Es ist nicht möglich, Suchanfragen mithilfe von Ortsdatenfeldern einzuschränken. Daher werden mit jeder Anfrage alle verfügbaren Felder zurückgegeben.
Im folgenden Snippet wird nearbySearch() aufgerufen, um Informationen zu Restaurants in Sydney, Australien, zurückzugeben. Die Anfrage ist synchron, verwendet einen Callback und enthält eine erforderliche bedingte Prüfung für PlacesServiceStatus.
letmap;letservice;functioninitMap(){constsydney=newgoogle.maps.LatLng(-33.867,151.195);map=newgoogle.maps.Map(document.getElementById("map"),{center:sydney,zoom:15,});constrequest={location:sydney,radius:'500',type:['restaurant']};service=newgoogle.maps.places.PlacesService(map);service.nearbySearch(request,callback);}functioncallback(results,status){if(status==google.maps.places.PlacesServiceStatus.OK){for(vari=0;i < results.length;i++){createMarker(results[i]);}}}// Helper function to create markers.functioncreateMarker(place){if(!place.geometry||!place.geometry.location)return;constmarker=newgoogle.maps.Marker({map,position:place.geometry.location,title:place.name,});}
Die neue Version der Nearby Search bietet folgende Verbesserungen:
Sie können angeben, welche Felder mit Ortsdaten zurückgegeben werden sollen.
Die Verwendung von Promises, die einen asynchronen Betrieb ermöglichen.
Es ist nicht erforderlich, den Status von PlacesService zu prüfen. Stattdessen kann die Standardfehlerbehandlung verwendet werden.
Das folgende Code-Snippet zeigt eine Funktion, die eine Nearby Search-Anfrage für Restaurants stellt. In diesem Beispiel wird die Option rankPreference verwendet, um Suchergebnisse nach Beliebtheit zu sortieren. In der vorherigen Version wurde die Sortierung mit der Option rankBy angegeben. Da die Methode searchNearby() den Operator await verwendet, kann sie nur innerhalb einer async-Funktion verwendet werden.
asyncfunctionnearbySearch(){// Restrict within the map viewport.letcenter=newgoogle.maps.LatLng(52.369358,4.889258);constrequest={// Required parameters.fields:["displayName","location","businessStatus"],locationRestriction:{center:center,radius:500,},// Optional parameters.includedPrimaryTypes:["restaurant"],maxResultCount:5,rankPreference:google.maps.places.SearchNearbyRankPreference.POPULARITY,language:"en-US",region:"us",};const{places}=awaitgoogle.maps.places.Place.searchNearby(request);if(places.length){console.log(places);// Create a new bounds, which will be extended with each result.constbounds=newgoogle.maps.LatLngBounds();// Loop through and get all the results.places.forEach((place)=>{constmarkerView=newgoogle.maps.marker.AdvancedMarkerElement({map,position:place.location,title:place.displayName,});bounds.extend(place.location);console.log(place);});map.fitBounds(bounds);}else{console.log("No results");}}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-05 (UTC)."],[],[],null,["# Migrate to the new Nearby Search\n\n\u003cbr /\u003e\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nThis page explains the differences between nearby search as used in the\n[`Place`](/maps/documentation/javascript/reference/place) class (new) and the\n[`PlacesService`](/maps/documentation/javascript/reference/places-service)\n(legacy), and provides some code snippets for comparison.\n\n- The legacy `PlacesService` has a `nearbySearch()` method, which lets you search for places within a specified area by keyword or type.\n- The `Place` class has a `searchNearby()` method which lets you search for places within a specified area by place type, utilizing an expanded selection of place data fields and place types for greater flexibility.\n\nThe following table lists some of the main differences in nearby search methods\nbetween the `Place` class and `PlacesService`:\n\n| [`PlacesService`](/maps/documentation/javascript/reference/places-service) (Legacy) | [`Place`](/maps/documentation/javascript/reference/place) (New) |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`nearbySearch()`](/maps/documentation/javascript/reference/places-service#PlacesService.nearbySearch) | [`searchNearby()`](/maps/documentation/javascript/reference/place#Place.searchNearby) |\n| [`PlaceSearchRequest`](/maps/documentation/javascript/reference/places-service#PlaceSearchRequest) | [`SearchNearbyRequest`](/maps/documentation/javascript/reference/place#SearchNearbyRequest) |\n| Requires the use of a callback to handle the results object and `google.maps.places.PlacesServiceStatus` response. | Uses Promises, and works asynchronously. |\n| Requires a `PlacesServiceStatus` check. | No required status check, can use standard error handling. [Learn more](/maps/documentation/javascript/reference/errors). |\n| Supports only location bias. | Supports location bias and location restriction. |\n| Returns all available data fields (a [subset of the supported fields](/maps/documentation/places/web-service/place-data-fields#places-api-fields-support)); cannot be constrained to specific fields. | Returns only the requested [place data fields](/maps/documentation/javascript/place-class-data-fields); the `Place` class offers an expanded and regularly updated selection of fields. |\n| Limited to a fixed set of [place types](/maps/documentation/javascript/supported_types). | Access an expanded and regularly updated selection of [place types](/maps/documentation/javascript/place-types). |\n| Supported text-based search with the [keyword](/maps/documentation/javascript/reference/places-service#PlaceSearchRequest.keyword). | Text-based search is not supported, use [Text Search (New)](/maps/documentation/javascript/places-migration-search#place-class-new) instead. |\n\nCode comparison\n---------------\n\nThis section compares code for nearby search methods to illustrate the\ndifferences between the Places Service and the\nPlace class. The code snippets show the code\nrequired on each respective API to make a text-based search request.\n\n### Nearby Search (Legacy)\n\nThe legacy Nearby Search lets you search for places within a specified area by\nkeyword or type. There is no way to constrain searches by using place data\nfields, so that all of the available fields are returned with each request.\nThe following snippet shows calling `nearbySearch()` to return information about\nrestaurants in Sydney, Australia. The request is synchronous, uses a callback,\nand includes a required conditional check on `PlacesServiceStatus`. \n\n let map;\n let service;\n\n function initMap() {\n const sydney = new google.maps.LatLng(-33.867, 151.195);\n\n map = new google.maps.Map(document.getElementById(\"map\"), {\n center: sydney,\n zoom: 15,\n });\n\n const request = {\n location: sydney,\n radius: '500',\n type: ['restaurant']\n };\n\n service = new google.maps.places.PlacesService(map);\n service.nearbySearch(request, callback);\n }\n\n function callback(results, status) {\n if (status == google.maps.places.PlacesServiceStatus.OK) {\n for (var i = 0; i \u003c results.length; i++) {\n createMarker(results[i]);\n }\n }\n }\n\n // Helper function to create markers.\n function createMarker(place) {\n if (!place.geometry || !place.geometry.location) return;\n\n const marker = new google.maps.Marker({\n map,\n position: place.geometry.location,\n title: place.name,\n });\n }\n\n#### Learn more\n\n- [See the documentation for legacy Nearby Search](/maps/documentation/javascript/places#place_search_requests)\n- [See the `searchNearby()` reference](/maps/documentation/javascript/reference/places-service#PlacesService.nearbySearch)\n\n### Nearby Search (New)\n\nThe new version of Nearby Search improves upon its predecessor in the following\nways:\n\n- The ability to specify which place data fields to return.\n- The use of Promises which enables asynchronous operation.\n- No need to check for the status of `PlacesService`; standard error handling can be used instead.\n\nThe following code snippet shows a function which makes a Nearby Search request\nfor restaurants. This example shows using the `rankPreference` option to rank\nsearch results by popularity (in the previous version ranking is specified\nusing the `rankBy` option). Because the `searchNearby()` method uses the `await`\noperator it can only be used inside an `async` function. \n\n async function nearbySearch() {\n // Restrict within the map viewport.\n let center = new google.maps.LatLng(52.369358, 4.889258);\n const request = {\n // Required parameters.\n fields: [\"displayName\", \"location\", \"businessStatus\"],\n locationRestriction: {\n center: center,\n radius: 500,\n },\n // Optional parameters.\n includedPrimaryTypes: [\"restaurant\"],\n maxResultCount: 5,\n rankPreference: google.maps.places.SearchNearbyRankPreference.POPULARITY,\n language: \"en-US\",\n region: \"us\",\n };\n\n const { places } = await google.maps.places.Place.searchNearby(request);\n\n if (places.length) {\n console.log(places);\n\n // Create a new bounds, which will be extended with each result.\n const bounds = new google.maps.LatLngBounds();\n\n // Loop through and get all the results.\n places.forEach((place) =\u003e {\n const markerView = new google.maps.marker.AdvancedMarkerElement({\n map,\n position: place.location,\n title: place.displayName,\n });\n\n bounds.extend(place.location);\n console.log(place);\n });\n map.fitBounds(bounds);\n } else {\n console.log(\"No results\");\n }\n }\n\n#### Learn more\n\n- [See the complete example code](/maps/documentation/javascript/examples/place-nearby-search)\n- [See the documentation for Nearby Search (New)](/maps/documentation/javascript/nearby-search)\n- [See the `searchNearby()` reference](/maps/documentation/javascript/reference/place#Place.searchNearby)"]]