Giriş
Yer kimlikleri, Google Rehber veritabanında ve Google Haritalar'da bir yeri benzersiz şekilde tanımlar. Yer kimlikleri, aşağıdaki Maps API'lerine gönderilen isteklerde kabul edilir:
- Geocoding API ve Geocoding Hizmeti, Maps JavaScript API'de bir yer kimliği için adres alma.
- Routes API ve Directions API (Eski) ile Directions Hizmeti, Maps JavaScript API'de (Eski) başlangıç, hedef ve ara noktaları belirtme
- Routes API, Distance Matrix API (Eski) ve Distance Matrix Hizmeti, Maps JavaScript API (Eski) içinde başlangıç ve hedef noktaları belirtme
- Places API (Yeni), Android için Yerler SDK'sı (Yeni), iOS için Yerler SDK'sı (Yeni) ve Yer Kitaplığı'nda Yer Ayrıntıları'nı alma.
- Maps Embed API'de yer kimliği parametrelerini kullanma
- Haritalar URL'lerindeki arama sorgularını alma
- Roads API'de hız sınırlarını gösterme
- Sınırlar için veri odaklı stilde sınır poligonlarını bulma ve stillendirme
Belirli bir yerin kimliğini bulma
Belirli bir yerin kimliğini mi arıyorsunuz? Bir yeri aramak ve kimliğini almak için aşağıdaki yer kimliği bulma aracını kullanın:
Alternatif olarak, Maps JavaScript API belgelerinde koduyla birlikte yer kimliği bulucuyu görüntüleyebilirsiniz.
Koddan veya yapay zeka ajanından yer kimliklerini bulma
Yer kimliği bulucu, tarayıcıda tek seferde bir yer arar. Bir uygulamadan, komut dosyasından veya yapay zeka temsilcisinden yer kimliklerini aramak için bunun yerine bir API çağırın:
- Kodunuzdan:
Place.searchByTextöğesini çağırın (Metin Arama (Yeni) bölümüne bakın) ve yalnızcaidalanını isteyin. Yalnızca yer kimliklerini döndüren istekler, Places API Text Search Essentials (Yalnızca Kimlikler) SKU'su kapsamında faturalandırılır. - Yapay zeka ajanı veya LLM uygulamasından: Maps Experience temsilci araçlarında Resolution API'yi kullanın.
resolve_namesveresolve_maps_urlsMCP araçları, her istekte en fazla 20 yer adını, adresi veya Google Haritalar URL'sini yer kimliklerine dönüştürür.resolveNamesveresolveMapsUrlsREST yöntemleriyle aynı yöntemler kullanılabilir.
Genel Bakış
Yer kimliği, bir yeri benzersiz şekilde tanımlayan metin tabanlı bir tanımlayıcıdır. Tanımlayıcının uzunluğu değişebilir (yer kimlikleri için maksimum uzunluk yoktur). Örnekler:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM -
GhIJQWDl0CIeQUARxks3icF8U8A -
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN -
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E -
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
İşletmeler, önemli noktalar, parklar ve kavşaklar dahil olmak üzere çoğu konum için yer kimlikleri kullanılabilir. Aynı yer veya konumun birden fazla farklı yer kimliği olabilir. Yer kimlikleri zaman içinde değişebilir.
Places API ve çeşitli Google Haritalar Platformu API'lerinde aynı yer kimliğini kullanabilirsiniz. Örneğin, Places API, Maps JavaScript API, Geocoding API, Maps Embed API ve Roads API'de bir yere referans vermek için aynı yer kimliğini kullanabilirsiniz.
Yer kimliğini kullanarak yer ayrıntılarını alma
Yer kimliklerini kullanmanın yaygın bir yolu, Maps JavaScript API'deki Places API veya Places kitaplığını kullanarak bir yer aramaktır. Ardından, yer ayrıntılarını almak için döndürülen yer kimliğini kullanın. Yer kimliğini saklayabilir ve daha sonra aynı yer ayrıntılarını almak için kullanabilirsiniz. Bu belgenin ilerleyen kısımlarında yer kimliklerini kaydetme hakkında bilgi edinin.
Maps JavaScript API'deki Places Library'yi kullanan örnek
JavaScript uygulamanızda bir yer kimliği kullanmak için önce kimliği bulmanız gerekir. Kimlik, Yer Arama tarafından döndürülen PlaceResult içinde veya Yer Adı Otomatik Tamamlama (Eski) hizmetindeki getPlace() tarafından döndürülen sonuçlarda bulunur. Ardından, yer ayrıntılarını aramak için yer kimliğini kullanabilirsiniz.
var map; function initialize() { // Create a map centered in Pyrmont, Sydney (Australia). map = new google.maps.Map(document.getElementById('map'), { center: {lat: -33.8666, lng: 151.1958}, zoom: 15 }); // Search for Google's office in Australia. var request = { location: map.getCenter(), radius: '500', query: 'Google Sydney' }; var service = new google.maps.places.PlacesService(map); service.textSearch(request, callback); } // Checks that the PlacesServiceStatus is OK, and adds a marker // using the place ID and location from the PlacesService. function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { var marker = new google.maps.Marker({ map: map, place: { placeId: results[0].place_id, location: results[0].geometry.location } }); } } google.maps.event.addDomListener(window, 'load', initialize);
Yer kimliklerini daha sonra kullanmak üzere kaydetme
Yer kimlikleri, Google Haritalar Platformu Hizmet Şartları'nın Bölüm 3.2.3(b) maddesinde belirtilen önbelleğe alma kısıtlamalarından muaf tutulur. Bu nedenle, yer kimliği değerlerini daha sonra kullanmak üzere saklayabilirsiniz.
Kayıtlı yer kimliklerini yenileme
Google Haritalar veritabanındaki güncellemeler nedeniyle yer kimlikleri değişebileceğinden Google, 12 aydan eski yer kimliklerinin yenilenmesini önerir. Yalnızca fields parametresinde place_id alanını belirterek Yer Ayrıntıları isteği göndererek yer kimliklerini ücretsiz olarak yenileyebilirsiniz.
Bu çağrı, Yer Ayrıntıları - Kimlik Yenileme SKU'sunu tetikler.
Yer kimliklerini kullanırken karşılaşılan hata kodları
INVALID_REQUEST
INVALID_REQUEST durum kodu, belirtilen yer kimliğinin geçerli olmadığını gösterir. Yer kimliği kısaltıldığında veya başka bir şekilde değiştirildiğinde ve artık doğru olmadığında INVALID_REQUEST döndürülebilir.
NOT_FOUND
NOT_FOUND durum kodu, belirtilen yer kimliğinin artık kullanılmadığını gösterir. Bir işletme kapanır veya yeni bir konuma taşınırsa yer kimliği geçersiz hale gelebilir. Yer kimlikleri, Google Haritalar veritabanındaki güncellemeler nedeniyle de değişebilir. Bu gibi durumlarda, bir yer yeni bir yer kimliği alabilir ve eski kimlik NOT_FOUND yanıtı döndürür.
Eski bir yer kimliği olması durumunda sonuçları yenilemek için her yer kimliğini döndüren orijinal isteği saklayın ve isteği gerektiği gibi yeniden gönderin. Yeniden gönderilen isteğin uygun SKU üzerinden faturalandırılacağını unutmayın.
Bazı yer kimliği türleri bazen NOT_FOUND yanıtına neden olabilir veya API, yanıtta farklı bir yer kimliği döndürebilir. Bu yer kimliği türleri şunlardır:
- Google Haritalar'da tam adres olarak bulunmayan ancak bir adres aralığından tahmin edilen açık adresler.
- İsteğin bir şehir veya yerleşim yeri de belirttiği uzun bir rotanın segmentleri.
- Kavşaklar.
subpremisetüründe adres bileşeni olan yerler.
Bu kimlikler genellikle uzun bir dize biçimindedir (yer kimlikleri için maksimum uzunluk yoktur). Örneğin:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4