Yer kimlikleri, Google Rehber veritabanında ve Google Haritalar'da bir yeri benzersiz bir şekilde tanımlar. Yer kimlikleri, aşağıdaki Maps API'lere yapılan isteklerde kabul edilir:
- Coğrafi Kodlama API'si web hizmetinde ve Coğrafi Kodlama Hizmeti, Maps JavaScript API'de yer kimliği için adres alma.
- Routes API ve Directions API web hizmeti ve Directions Service, Maps JavaScript API'de başlangıç, hedef ve ara ara noktalar belirtme.
- Rotalar API'si, Mesafe Matrisi API'si web hizmetinde ve Mesafe Matrisi Hizmeti'nde ve Haritalar JavaScript API'sinde başlangıç ve varış noktalarını belirtme.
- Yerler API'si web hizmetinde, Android için Yerler SDK'sı, iOS için Yerler SDK'sı ve Yerler Kitaplığı'nda Yer Ayrıntılarını alma.
- Maps Embed API'de Yer Kimliği parametrelerini kullanma.
- Haritalar URL'lerinde arama sorguları alınıyor.
- Roads API'de hız sınırları gösteriliyor.
- Sınırlar için veriye dayalı stilde sınır poligonları bulma ve bunların stil özelliklerini ayarlama.
Belirli bir yerin kimliğini bulma
Belirli bir yerin yer kimliğini mi arıyorsunuz? Bir yer arayıp kimliğini öğrenmek için aşağıdaki yer kimliği bulucuyu kullanın:
Alternatif olarak, Maps JavaScript API dokümanlarındaki koduyla birlikte yer kimliği bulucuyu görüntüleyebilirsiniz.
Genel bakış
Yer kimliği, bir yeri benzersiz şekilde tanımlayan metinsel bir tanımlayıcıdır. Tanımlayıcının uzunluğu değişiklik gösterebilir (Yer Kimlikleri için maksimum uzunluk yoktur). Örnekler:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
Yer kimlikleri işletmeler, önemli noktalar, parklar ve kavşaklar dahil olmak üzere çoğu konum için kullanılabilir. Aynı yer veya konumun birden fazla farklı yer kimliği olabilir. Yer kimlikleri zaman içinde değişebilir.
Aynı yer kimliğini Places API ve bir dizi Google Haritalar Platformu API'sinde kullanabilirsiniz. Örneğin, Places API, Haritalar JavaScript API, GeoCode API, Haritalar Embed API ve Roads API'deki 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, bir yer aramak (örneğin, Maps JavaScript API'deki Places API'yi veya Yerler kitaplığını kullanarak) ve ardından yer ayrıntılarını almak için döndürülen yer kimliğini kullanmaktır. Yer kimliğini saklayabilir ve daha sonra aynı yer ayrıntılarını almak için kullanabilirsiniz. Yer kimliklerini kaydetme hakkında daha fazla bilgiyi aşağıda bulabilirsiniz.
Maps JavaScript API'deki Yerler kitaplığının kullanımıyla ilgili örnek
JavaScript uygulamanızda bir yer kimliği kullanmak için öncelikle kimliği, Yer Arama tarafından döndürülen PlaceResult
veya getPlace()
tarafından Otomatik Yer Tamamlama hizmetinde bulunan kimliği bulmanız gerekir. 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 için kaydedin
Yer kimlikleri, Google Haritalar Platformu Hizmet Şartları Bölüm 3.2.3(b)'de belirtilen önbelleğe alma kısıtlamalarından muaftır. Bu nedenle, yer kimliği değerlerini daha sonra kullanmak üzere saklayabilirsiniz.
Depolanan yer kimlikleri yenileniyor
12 aydan eski yer kimliklerini yenilemenizi öneririz. Yer kimliklerini ücretsiz olarak yenileyebilirsiniz. Bunun için fields
parametresinde yalnızca place_id
alanını belirterek Yer Ayrıntısı isteği gönderebilirsiniz.
Bu çağrı,
Yer Ayrıntıları - Kimlik Yenileme
SKU'sunu tetikler. Ancak bu istek, NOT_FOUND
durum kodunu da döndürebilir. Stratejilerden biri, her bir yer kimliğini döndüren orijinal isteği depolamaktır. Bir yer kimliği geçersiz hale gelirse yeni sonuçlar almak için bu isteği yeniden gönderebilirsiniz. Bu sonuçlar orijinal yeri içerebilir veya içermeyebilir. İstek ücretli.
Yer kimlikleri kullanılırken karşılaşılan hata kodları
INVALID_REQUEST
durum kodu, belirtilen yer kimliğinin geçerli olmadığını belirtir. 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
durum kodu, belirtilen yer kimliğinin eski olduğunu belirtir. Bir işletme kapanırsa veya yeni bir konuma taşınırsa yer kimliği geçersiz hale gelebilir. Yer kimlikleri, Google Haritalar veritabanındaki büyük ölçekli güncellemeler nedeniyle değişebilir. Bu gibi durumlarda, yer yeni bir yer kimliği alabilir ve eski kimlik bir NOT_FOUND
yanıtı döndürür.
Özellikle, 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 kesin adres olarak bulunmayan ancak çeşitli adres aralıklarından tahmin edilen açık adresler.
- İstekte bir şehir veya semtin de belirtildiği uzun bir rotanın segmentleri.
- Kesişmeler.
subpremise
türünde adres bileşenine sahip 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