Bölgeleri aramak ve yerler hakkında daha fazla bilgi edinmek için Places Hizmeti'ni ve Coğrafi Kodlama API'sini Android için Haritalar SDK'sı ile birlikte kullanabilirsiniz. Places Hizmeti ve Geocoding API, yer kimliklerini edinmek için güçlü ve kararlı alternatiflerdir. Yer kimliklerini zaten kullanıyorsanız bu kimlikleri, sınırlar için veriye dayalı stil ile yeniden kullanabilirsiniz.
Aşağıdaki yöntemlerle Android için Haritalar SDK'sı uygulamalarınıza Yerler Hizmeti ve Coğrafi Kodlama'yı ekleyin:
- Android için Yerler SDK'sı, yerler hakkında bilgi döndürme yöntemleri 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 Hizmeti'ni kullanma
Yer kimliği bulmak için Metin Arama'yı (Yeni) kullanma
Alan maskesinde places.id 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 kullanılan
Metin Arama (Yeni) özelliği ü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 Yerleri Otomatik Tamamlama özelliğini kullanma
Android için Places SDK'daki Yer Otomatik Tamamlama hizmeti, kullanıcılarınızın bölgeleri aramasına olanak tanıyan kullanışlı bir yöntem sunar. Yerleri otomatik tamamlama hizmetini yalnızca bölgeleri döndürecek şekilde yapılandırmak için AutocompleteSupportFragment.setTypesFilter(List) kullanarak tür filtresini PlaceTypes.REGIONS olarak ayarlayı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 ve bu veriler oldukça faydalı olabilir. Örneğin, şunları yapabilirsiniz:
- Yer adlarına göre sınır yer kimliklerini arayın.
- Bir sınıra yakınlaştırmak için görüntü alanını alın.
- Sınırın özellik türünü alın (ör.
locality). - ABD bölgesinde "Yer Adı, Eyalet, Ülke" olarak çözümlenen biçimlendirilmiş adresi alın (örneğin, "Ottumwa, IA, ABD").
- Fotoğraflar gibi diğer faydalı verileri alın.
Geocoding API'yi kullanma
Geocoding API, bir adresi enlem ve boylam koordinatlarına ve bir yer kimliğine dönüştürmenize ya da enlem ve boylam koordinatlarını veya bir yer kimliğini adrese dönüştürmenize olanak tanır. Aşağıdaki kullanımlar, sınırlar için veriye dayalı stil ile iyi bir şekilde birleştirilebilir:
- Bir bölgenin görünüm alanını almak için coğrafi kodlamayı kullanın.
- 1-4 numaralı idari bölgeler, yerleşim birimi 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 için ters coğrafi kodlamayı kullanın veya belirli bir konumdaki tüm bileşenlerin yer kimliklerini döndürün.
Aşağıdaki örnekte, Geocoding API'ye istekte bulunmak için bir adres (URL'de kaçış karakteriyle kodlanmış) 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 Coğrafi Kodlama 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 bir veya daha fazlası için adres bileşenini almak üzere bileşen filtrelemeyle ters 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 ters coğrafi kodlama ile bileşen kısıtlamaları ekleyerek Coğrafi Kodlama hizmetinin nasıl kullanılacağı gösterilmektedir:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY