Merhabalar, .Net micro framework ile Google maps i kullanmayı inceleyecegiz.
İlk olarak cihazımıza IP veriyoruz bunun için :
foreach (NetworkInterface nic in nics)
{
nic.EnableStaticIP("192.168.2.8", "255.255.255.0", "192.168.2.254");
}
Cihazımıza IP verince map.google.com dan gerekli dataları donwload etmek için WebClient.cs i projemize ekliyoruz.Ben bunu internetten almıştım, kendinizde yazabilirsiniz. Ama Elze Kool un çok iyi Web Client i var.
İstedigimiz koordinat daki resmi download edip görüntülemek için :
double lat = 37.060383;
double lot=37.374287;
int zoom = 12;
public void ciz(double lat, double lot, int zoom)
{
string size = "320x240";
Bitmap screen = new Bitmap(SystemMetrics.ScreenWidth, SystemMetrics.ScreenHeight);
try
{
WebClient client = new WebClient("maps.google.com", 80);
Bitmap map = client.GetContent(
"/staticmap?center=" + lat.ToString() + "," + lot.ToString() + "&zoom=" + zoom + "&size=" + size + "&maptype=mobile",
WebClient.ContentType.Image, WebClient.HttpVersion.V_11) as Bitmap;
screen.DrawImage(0, 0, map, 0, 0, map.Width, map.Height);
screen.Flush();
}
catch (SocketException se)
{
}
}
Kullandım ben. WPF le görselligi arttırmak mümkün.İşte bir kaç örnek :
Buda benim Tahoe II deki hali :
Kullandım ben. WPF le görselligi arttırmak mümkün.İşte bir kaç örnek :
Buda benim Tahoe II deki hali
Daha fazla açıklama için
http://www.codeproject.com/KB/dotnet/UsingGoogleMapInMF.aspx
Bu arada langtitude ve longtitude bilgilerini bir GPS cihazından okunsa (seri port üzerinden örnegi çok), bir navigator ( navigasyon ) cihazı üretile bilir. Tabii google earth ( maps ) üzerinden verileri almak için bir GPRS modeme ihtiyaç olacaktır. Yada SD card a bütün Türkiye nin haritaları yüklenebilir, bu şekilde offline çalışabilir.
Benim yaptıgım uygulamada standart yön tuşları ile ekranda gezile bilmekte ve ekrandaki zoom in ve zoom out ile yakınlaşma uzaklaşma yapıla bilmektedir.