Bölgeleri aramak ve yerler hakkında daha fazla bilgi edinmek için Yerler hizmetini ve Android için Haritalar SDK'sı ile Coğrafi Kodlama API'sini kullanabilirsiniz. Places hizmeti ve Geocoding API, yer kimlikleri elde etmek için güçlü ve kararlı alternatiflerdir. Yer kimliklerini zaten kullanıyorsanız bu kimlikleri sınırlar için veriye dayalı stillerle yeniden kullanabilirsiniz.
Android uygulamalarınız için Haritalar SDK'nıza Yerler hizmetini ve Coğrafi Kodlama'yı aşağıdaki yollarla 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.
- Coğrafi kodlayıcı sınıfı, kullanıcı girişinden dinamik olarak coğrafi kodlama ve tersine coğrafi kodlama yapabilir.
- Geocoding API, bilinen statik adresleri coğrafi kodlamanıza olanak tanır.
Yerler hizmetini kullanma
Yer kimliği bulmak için metin aramayı (yeni) kullanma
Alan maskesinde places.id
belirterek bölge verilerini içeren bir yer kimliği almak için Places API'deki Text Search (Yeni) REST API'sini kullanabilirsiniz. Yer kimliklerini istemek için Metin Arama (Yeni) kullanımı yalnızca ü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 Yerler Otomatik Tamamlama özelliğini kullanın
Android için Places SDK'sındaki Yerler Otomatik Tamamlama hizmeti, kullanıcılarınızın bölge aramasını sağlamanın kolay bir yolunu sunar. Yerler 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)
simgesini kullanın.
Bir bölgenin yer ayrıntılarını alma
Android için Yerler SDK'sındaki Yer Ayrıntıları hizmeti, bir bölgeye ilişkin verileri döndürür. Ö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 (örneğin,
locality
). - ABD bölgesinde "Yer Adı, Eyalet, Ülke" (ör. "Ottumwa, IA, ABD") olarak çözümlenen biçimlendirilmiş adresi alın.
- Fotoğraflar gibi diğer yararlı verileri alın.
Coğrafi Kodlama API'sini kullanma
Coğrafi Kodlama 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ımlar, sınırlar için veriye dayalı stil ile bir araya gelir:
- Bir bölgenin görüntü alanını almak için Coğrafi Kodlama'yı kullanın.
- 1-4 numaralı yönetim alanları, yerel bölge 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 veya belirli bir konumdaki tüm bileşenlerin yer kimliklerini döndürmek için ters 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_KEY
Yer kimliklerini bulmak için tersine coğrafi kodlama özelliğini kullanabilirsiniz. Aşağıdaki örnek Coğrafi Kodlama hizmeti işlevi, belirtilen enlem ve boylam koordinatlarındaki tüm adres bileşenleri için yer kimliklerini döndürür:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Aşağıdaki türlerin bir veya daha fazlası için adres bileşenini belirtilen konumda almak üzere bileşen filtrelemeyle tersine coğrafi kodlama kullanın:
administrativeArea
country
locality
postalCode
Sonraki örnek işlevde Coğrafi Kodlama hizmetinin kullanılması, yalnızca locality
türü için tüm adres bileşenlerini belirtilen konumda almak amacıyla ters coğrafi kodlamayla bileşen kısıtlamalarının eklendiğini göstermektedir:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY