Bölgeleri aramak ve yerler hakkında daha fazla bilgi edinmek için Android için Haritalar SDK'sı ile Places Service ve Geocoding API'yi kullanabilirsiniz. Places Service ve Geocoding API, yer kimliklerini elde etmek için güçlü ve kararlı alternatiflerdir. Yer kimliklerini zaten kullanıyorsanız bu kimlikleri sınırlar için veri odaklı stil ile yeniden kullanabilirsiniz.
Places Service ve Geocoding'i Android için Haritalar SDK'sı uygulamalarınıza aşağıdaki yöntemlerle ekleyebilirsiniz:
- Android için Places SDK'sı, yerler hakkında bilgi döndüren yöntemler içeren bir Android kitaplığıdır.
- Places API, HTTP isteklerini kullanarak yerler hakkında bilgi döndürür.
- Geocoder sınıfı, kullanıcı girişinden dinamik olarak coğrafi kodlama ve tersine coğrafi kodlama yapabilir.
- Geocoding API, statik ve bilinen adresleri coğrafi olarak kodlamanıza olanak tanır.
Places Service'i kullanma
Yer kimliği bulmak için Text Search'ü (Yeni) kullanma
Alan maskesinde places.id değerini belirterek bölge verilerini içeren bir yer kimliği almak için Places API'deki Text Search (New) REST API'yi kullanabilirsiniz. Yalnızca yer kimlikleri istemek için Text Search (New) kullanımı ücretsizdir. Daha fazla bilgi edinin.
Örneğin, Trinidad, CA'nın yer kimliğini almak için aşağıdaki API çağrısını yapabilirsiniz:
curl -X POST -d '{
"textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'Bölgeleri bulmak için Yer Adı Otomatik Tamamlama'yı kullanma
Android için Yerler SDK'sındaki Yer Adı Otomatik Tamamlama hizmeti, kullanıcılarınızın bölge araması yapması için kullanışlı bir yöntem sunar. Yer Adı Otomatik Tamamlama hizmetini yalnızca bölgeleri döndürecek şekilde yapılandırmak için tür filtresini PlaceTypes.REGIONS olarak ayarlamak üzere AutocompleteSupportFragment.setTypesFilter(List) kullanın.
Bir bölgeyle ilgili yer ayrıntılarını alma
Android için Yerler SDK'sındaki Yer Ayrıntıları hizmeti, bir bölgeyle ilgili verileri döndürür. Bu veriler oldukça faydalı olabilir. Örneğin, şunları yapabilirsiniz:
- Yer adlarına göre sınır yeri kimliklerini arayın.
- Bir sınıra yakınlaştırmak için görüntü alanını alma.
- Sınırın özellik türünü (ör.
locality) alın. - ABD bölgesinde "Yer Adı, Eyalet, Ülke" olarak çözümlenen biçimlendirilmiş adresi (ör. "Ottumwa, IA, ABD") alın.
- Fotoğraflar gibi diğer faydalı verileri alma
Geocoding API'yi kullanma
Geocoding API, bir adresi enlem ve boylam koordinatlarına ve yer kimliğine dönüştürmenize veya enlem ve boylam koordinatlarını ya da yer kimliğini bir adrese dönüştürmenize olanak tanır. Aşağıdaki kullanım alanları, sınırlar için veri odaklı stil ile iyi bir şekilde birleştirilebilir:
- Bir bölgenin görüntü alanını almak için Geocoding API'yi kullanın.
- 1-4 arası bağlı olduğu yerler, şehir veya posta kodu için yer kimliklerini almak üzere coğrafi kodlama çağrınıza bileşen filtreleme uygulayın.
- Enlem ve boylam koordinatlarına göre yer kimliklerini bulmak, hatta belirli bir konumdaki tüm bileşenlerin yer kimliklerini döndürmek için tersine coğrafi kodlamayı kullanın.
Aşağıdaki örnekte, Geocoding API'ye istek göndermek için bir adres (URL çıkışlı) kullanılmaktadır:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYYer kimliklerini bulmak için tersine coğrafi kodlama kullanabilirsiniz. Aşağıdaki örnek Geocoding hizmeti işlevi, belirtilen enlem ve boylam koordinatlarındaki tüm adres bileşenlerinin yer kimliklerini döndürür:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYBelirtilen konumda aşağıdaki türlerden biri veya daha fazlası için adres bileşenini almak üzere bileşen filtrelemeyle tersine coğrafi kodlamayı kullanın:
administrativeAreacountrylocalitypostalCode
Aşağıdaki örnek işlevde, yalnızca locality türü için belirtilen konumdaki tüm adres bileşenlerini almak üzere tersine coğrafi kodlama ile bileşen kısıtlamaları ekleyerek Coğrafi Kodlama hizmetinin kullanımı gösterilmektedir:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY