Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
UWP MapControl ve Windows Haritalar platform API'leri (Windows.Services.Maps.*) kullanım dışıdır ve Windows'un gelecekteki sürümlerinde kullanılamayabilir. Daha fazla bilgi için bkz. Kullanım dışı bırakılan özellikler için kaynaklar.
Önemli
Bing Maps for Enterprise hizmetinin kullanımdan kaldırılması
UWP MapControl ve Windows.Services.Maps ad alanlarındaki harita hizmetleri Bing Haritalar'a dayanır. Bing Kurumsal Haritalar kullanımdan kaldırılmıştır ve kullanımdan kaldırılacaktır. Bu noktada MapControl ve hizmetler artık veri almaz.
Daha fazla bilgi için Bing Haritalar Geliştirici Merkezi ve Bing Haritalar belgelerine bakın.
Uyarı
MapControl ve harita hizmetleri, MapServiceTokenadlı bir haritalar kimlik doğrulama anahtarı gerektirir. Haritalar kimlik doğrulama anahtarını alma ve ayarlama hakkında daha fazla bilgi için bkz. Haritalar kimlik doğrulama anahtarı isteme.
Bu kılavuzda, Windows.Services.Maps ad alanında MapLocationFinder sınıfının yöntemlerini çağırarak sokak adreslerini coğrafi konumlara (coğrafi kodlama) dönüştürme ve coğrafi konumları sokak adreslerine dönüştürme (ters coğrafi kodlama) gösterilmektedir.
Coğrafi kodlama ve ters coğrafi kodlama ile ilgili sınıflar aşağıdaki gibi düzenlenir.
- MapLocationFinder sınıfı, coğrafi kodlamayı (FindLocationsAsync) ve ters coğrafi kodlamayı (FindLocationsAtAsync) işleyen yöntemler içerir.
- Bu yöntemlerin her ikisi de bir MapLocationFinderResult örneği döndürür.
- MapLocationFinderResult nesnesinin Locations özelliği, MapLocation nesnelerinin bir koleksiyonunu açığa çıkarır.
- MapLocation nesneleri, hem bir sokak adresini temsil eden MapAddress nesnesini sunan Adres özelliğine hem de coğrafi konumu temsil eden Geopoint nesnesini sunan Nokta özelliğine sahiptir.
Önemli
Harita hizmetlerini kullanabilmeniz için önce bir haritalar kimlik doğrulama anahtarı belirtmeniz gerekir. Daha fazla bilgi için bkz. Haritalar için kimlik doğrulama anahtarı isteme.
Konum alma (Coğrafi kod)
Bu bölümde, bir sokak adresinin veya yer adının coğrafi konuma (coğrafi kodlama) nasıl dönüştürüldüğü gösterilir.
- MapLocationFinder sınıfının FindLocationsAsync yönteminin aşırı yüklemelerinden birini bir yer adı veya sokak adresiyle çağırın.
- FindLocationsAsync yöntemi bir MapLocationFinderResult nesnesi döndürür.
- Konumları özelliğini kullanarak MapLocationFinderResult ile bir MapLocation nesneleri koleksiyonunu kullanıma sunun. Birden fazla MapLocation nesnesi olabilir çünkü sistem, verilen girişe karşılık gelen birden fazla konum bulabilir.
using Windows.Services.Maps;
using Windows.Devices.Geolocation;
...
private async void geocodeButton_Click(object sender, RoutedEventArgs e)
{
// The address or business to geocode.
string addressToGeocode = "Microsoft";
// The nearby location to use as a query hint.
BasicGeoposition queryHint = new BasicGeoposition();
queryHint.Latitude = 47.643;
queryHint.Longitude = -122.131;
Geopoint hintPoint = new Geopoint(queryHint);
// Geocode the specified address, using the specified reference point
// as a query hint. Return no more than 3 results.
MapLocationFinderResult result =
await MapLocationFinder.FindLocationsAsync(
addressToGeocode,
hintPoint,
3);
// If the query returns results, display the coordinates
// of the first result.
if (result.Status == MapLocationFinderStatus.Success)
{
tbOutputText.Text = "result = (" +
result.Locations[0].Point.Position.Latitude.ToString() + "," +
result.Locations[0].Point.Position.Longitude.ToString() + ")";
}
}
Bu kod, tbOutputText metin kutusuna aşağıdaki sonuçları görüntüler.
result = (47.6406099647284,-122.129339994863)
Adres elde etme (ters coğrafi kodlama)
Bu bölümde coğrafi konumu adrese dönüştürme (ters coğrafi kodlama) gösterilmektedir.
- MapLocationFinder sınıfının FindLocationsAtAsync yöntemini çağırın.
- FindLocationsAtAsync yöntemi, ile eşleşen MapLocation nesnelerinin bir koleksiyonunu içeren bir MapLocationFinderResult nesnesi döndürür.
- Konumları özelliğini kullanarak MapLocationFinderResult ile bir MapLocation nesneleri koleksiyonunu kullanıma sunun. Birden fazla MapLocation nesnesi olabilir çünkü sistem, verilen girişe karşılık gelen birden fazla konum bulabilir.
- MapLocationher
özelliği aracılığıyla MapAddress nesneleriAddress erişin.
using Windows.Services.Maps;
using Windows.Devices.Geolocation;
...
private async void reverseGeocodeButton_Click(object sender, RoutedEventArgs e)
{
// The location to reverse geocode.
BasicGeoposition location = new BasicGeoposition();
location.Latitude = 47.643;
location.Longitude = -122.131;
Geopoint pointToReverseGeocode = new Geopoint(location);
// Reverse geocode the specified geographic location.
MapLocationFinderResult result =
await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
// If the query returns results, display the name of the town
// contained in the address of the first result.
if (result.Status == MapLocationFinderStatus.Success)
{
tbOutputText.Text = "town = " +
result.Locations[0].Address.Town;
}
}
Bu kod, tbOutputText metin kutusuna aşağıdaki sonuçları görüntüler.
town = Redmond
İlgili konular
- UWP harita örneği
- Haritalar için tasarım yönergeleri
- Bing Haritalar Geliştirici Merkezi
- MapLocationFinder sınıfı
- FindLocationsAsync yöntemi
- FindLocationsAtAsync yöntemi