Bölge aramak ve yerler hakkında daha fazla bilgi edinmek için Android için Haritalar SDK'sı ile Places hizmetini ve Geocoding API'yi 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ı, yerlerle ilgili bilgi döndüren yöntemleri içeren bir Android kitaplığıdır.
- Places API, HTTP isteklerini kullanan 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, Kaliforniya, Trinidad için yer kimliğini almak üzere 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'yı kullanma
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 AutocompleteSupportFragment.setTypesFilter(List)
aracılığıyla tür filtresini PlaceTypes.REGIONS
olarak ayarlayı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
). - Amerika Birleşik Devletleri bölgesinde "Yer Adı, Eyalet, Ülke" olarak çözülen biçimlendirilmiş adresi alın (örneğin, "Ottumwa, IA, ABD").
- 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ım alanları, sınırlar için veriye dayalı stil ile iyi bir şekilde birleştirilebilir:
- 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, Coğrafi Kodlama API'sine istek göndermek için bir adres (URL'den kaçan) 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 ters coğrafi kodlamayı kullanabilirsiniz. Aşağıdaki coğrafi kodlama hizmeti işlevi örneği, 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_KEY
Belirtilen konumda aşağıdaki türlerden en az birinin adres bileşenini almak için bileşen filtrelemeyle ters coğrafi kodlamayı kullanın:
administrativeArea
country
locality
postalCode
Bir sonraki örnek işlevde, coğrafi kodlama hizmetinin kullanılması, belirtilen konumdaki tüm adres bileşenlerini yalnızca locality
türü için almak üzere ters coğrafi kodlama ile bileşen kısıtlamaları eklenmesi gösterilmektedir:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY