Yeni Maps API sayesinde Windows Phone 8 için harita tabanlı uygulamalar geliştirebiliyoruz.
Öncelikle WindowsPhoneMaps isimli yeni bir Windows Phone App projesi oluşturalım;
Proje oluşturduktan sonra gelen Windows Phone Platform versiyon seçim penceresinde Windows Phone OS 8.0 seçeneğinin seçili olduğundan emin olmalıyız;
Windows Phone 8 projemizde Map kontrolünü kullanabilmek için öncelikle ID_CAP_MAP Capability‘sini WMAppManifest.xml dosyasında etkinleştirmeliyiz;
İlk olarak MainPage.xaml dosyasında phone:PhoneApplicationPage tag’ına
xmlns:maps=”clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps”</pre>
xml namespace‘ini eklememiz gerekiyor.
Artık Map kontrolünü ekranımıza ekleyebiliriz;
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map /> </Grid>
Ekrana eklediğimiz Map kontrolünün belli bir koordinatı göstermesi için Center özelliğini ayarlamamız gerekmektedir. İstanbul için örnek;
Center="41.0205, 29.0865"
Kodumuzun son hali;
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map Center="41.0205, 29.0865" /> </Grid>
Yakınlaşma miktarını ayarlamak için de ZoomLevel özelliğini kullanmamız gerekmektedir;
ZoomLevel="14"
ZoomLevel özelliği 1 ile 20 arasında değer almaktadır. 1 değeri ile en yakın zoom, 20 ile en uzak zoom ayarlamış oluruz.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map Center="41.0205, 29.0865" ZoomLevel="14" /> </Grid>
Haritanın gösterim modunu CartographicMode özelliğine atayacağımız değer ile belirleyebiliriz. Varsayılan değeri Road olan CartographicMode özelliğine MapCartographicMode enum’ından şu değerler atanabilir;
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map Center="41.0205, 29.0865" ZoomLevel="14" CartographicMode="Terrain" /> </Grid>
Ayrıca ColorMode özelliğine MapColorMode enum’ından Light veya Dark değerlerinden birini atayarak harita’nın aydınlık veya karanlık gözükmesini sağlayabiliriz.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map ColorMode="Dark" /> </Grid>
Ayrıca Heading özelliğine 0 ile 360 arası değer atayarak haritanın yukarısında hangi yönün bulunacağını belirleyebiliriz. Örneğin, 0 değerini atayarak haritanın yukarısında Kuzey yönünün gözükmesini, 90 değerini atayarak Batı yönünün gözükmesini, 180 değerini atayarak Güney yönünün gözükmesini, 270 değerini atayarak Doğu yönünün gözükmesini sağlayabiliriz.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map Center="41.0205, 29.0865" ZoomLevel="14" Heading="270" /> </Grid>
Son olarak Pitch özelliğine 0 ile 75 arası değer atayarak haritaya bakış açımızı değiştirebiliriz. Örneğin haritada 60 derecelik açı ile İstanbul şöyle gözüküyor;
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,12"> <maps:Map Center="41.0205, 29.0865" ZoomLevel="14" Pitch="60" /> </Grid> ![Pitch](/assets/uploads/2013/02/WindowsPhoneMaps-Pitch.png) *Not : Harita kontrolü üzerinde daha fazla geliştirme seçeneği elde etmek için (örneğin Pushpin) Windows Phone Toolkit'i indirip projenize ekleyebilirsiniz.*
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484