Post Page Advertisement [Top]

Bu makalede bence en etkileyici servislerden olan RouteService ‘ye göz atacağız.Bu servis iki nokta arasındaki tüm yol bilgilerini bize döndürür,Bu yolu haritaya çizdirebilir,navigasyon verilerini geri döner,görüldüğü gibi oldukça güzel bir servis J Bu makalede basit bir giriş yaparak sadece iki nokta arası yol çizdireceğiz sonraki makalelerimizde ise navigasyon verilerini alalım.

RouteServis için bir tanımlama yapacak olursak:
        private RouteQuery MyRouteQuery = null;
        private Route MyRoute = null;
        private MapRoute MyMapRoute = null;

Ana ekranımıza bir yol çiz menü itemi ekleyelim ve event click’inde çizdiğimiz mavi poiler ile konumumuz arasında yol çizdirelim.
        private void yol_çiz_Click(object sender, EventArgs e)
        {
            GeoCoordinate cor1 = new GeoCoordinate();
            cor1.Latitude = 41.1108;
            cor1.Longitude = 29.0374;


            GeoCoordinate cor2 = new GeoCoordinate();
            cor2.Latitude = 40.7629;
            cor2.Longitude = 30.3617;

            // Route from current location to first search result
            List<GeoCoordinate> routeCoordinates = new List<GeoCoordinate>();
            routeCoordinates.Add(cor1);
            routeCoordinates.Add(cor2);
            CalculateRoute(routeCoordinates);

        }
Route Servisin eski BING Maps deneyimime bakarsak daha kolay olduğunu söyleye bilirim.

CalculateRoute Metodunda ise yine servise bir sorgu göndereceğiz ve cevab geri döndüğünde haritamıza bir yol çizdirmiş olacağız.

        private void CalculateRoute(List<GeoCoordinate> route)
        {
            MyRouteQuery = new RouteQuery();
            MyRouteQuery.Waypoints = route;
            MyRouteQuery.QueryCompleted += MyRouteQuery_QueryCompleted;
            MyRouteQuery.QueryAsync();
        }

        void MyRouteQuery_QueryCompleted(object sender, QueryCompletedEventArgs<Route> e)
        {
            if (e.Error == null)
            {
                MyRoute = e.Result;
                MyMapRoute = new MapRoute(MyRoute);
                map1.AddRoute(MyMapRoute);
                MyRouteQuery.Dispose();
            }
        }

Sonuç olarak:


Elde ederiz. Uygulama kodu burada,iyi çalışmalar…




Hiç yorum yok:

Yorum Gönder

Bottom Ad [Post Page]