private void IndoorNavigationRoutesLocationToPoi()
{
indoorLayer = new MapLayer();
routeNavDetails.Clear();
var routeList = new List<DirectionsList>();
time.Text = "Duration: Unknown";
// total meters
Dispatcher.BeginInvoke(() =>
{
distance.Text = "Distance: Unknown";
});
if (Mymap.Layers.Contains(indoorLayer))
{
Mymap.Layers.Remove(indoorLayer);
}
var direction = new DirectionsList
{
direction = "Your Location",
geocoordinate = new GeoCoordinate(_myLatitude, _myLongitude),
image = new BitmapImage(new Uri("/Assets/location.png", UriKind.Relative))
};
routeList.Add(direction);
DirectionsList direction1 = new DirectionsList();
if (_poisByBuilding != null)
{
foreach (var obj1 in _poisByBuilding.pois)
{
if (obj1.puid.Equals(_floorPoiTo))
{
direction1 = new DirectionsList
{
direction = obj1.name,
geocoordinate = new GeoCoordinate(double.Parse(obj1.coordinates_lat, CultureInfo.InvariantCulture),
double.Parse(obj1.coordinates_lon, CultureInfo.InvariantCulture)),
image = new BitmapImage(new Uri("/Assets/finish.png", UriKind.Relative))
};
routeList.Add(direction1);
}
}
}
_overlayTo = new MapOverlay();
var im = new Image
{
Source = new BitmapImage(new Uri("/Assets/finish.png", UriKind.Relative))
};
_overlayTo.Content = im;
_overlayTo.GeoCoordinate = direction1.geocoordinate;
_overlayTo.PositionOrigin = new Point(1.0, 1.0);
indoorLayer.Add(_overlayTo);
if (Mymap.Layers.Contains(indoorLayer))
Mymap.Layers.Remove(indoorLayer);
Mymap.Layers.Add(indoorLayer);
RouteLLS.ItemsSource = routeList;
RouteLLS.SelectionChanged += RouteLLS_SelectionChanged;
calcroutestext.Visibility = Visibility.Collapsed;
calcProgrBar.Visibility = Visibility.Collapsed;
time.Visibility = Visibility.Visible;
distance.Visibility = Visibility.Visible;
}