private async void LineIdSearch_OnClick(object sender, RoutedEventArgs e) { baseLayer.Clear(); string crashid = " 440100014234"; string id = "110100013752"; AMapBusLineResults busLines = await AMapBusSearch.BusLineIDSearch(id); if (busLines.Erro == null) { if (busLines.BusLineList == null || busLines.BusLineList.Count == 0) { Debug.WriteLine("无查询结果"); return; } List <AMapBusLine> busLine = busLines.BusLineList.ToList(); //Id 搜索 只会搜索到一个 AMapBusLine bl = busLine.FirstOrDefault(); Debug.WriteLine(bl.Name); List <LngLat> latlng = LngLatsFromString(bl.Polyline); AMapPolyline polyline = new AMapPolyline { Path = new AGeopath(latlng), StrokeColor = Colors.Blue, StrokeThickness = 10 }; AMapIcon start = new AMapIcon { Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/bus_start_pic.png", UriKind.RelativeOrAbsolute)), Location = latlng.FirstOrDefault() }; AMapIcon end = new AMapIcon { Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/bus_end_pic.png", UriKind.RelativeOrAbsolute)), Location = latlng.LastOrDefault() }; await baseLayer.Add(start); await baseLayer.Add(end); //todo 纹理已经录入,但是为什么会crash await baseLayer.Add(polyline); } else { Debug.WriteLine(busLines.Erro.Message); } }
private async void BusLineSearch_OnClick(object sender, RoutedEventArgs e) { baseLayer.Clear(); var busRef = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/bus.png", UriKind.RelativeOrAbsolute)); string keywords = "404"; uint offset = 20; uint page = 1; string city = "北京"; AMapBusLineResults busLines = await AMapBusSearch.BusLineKeyWords(keywords, offset, page, city, Extensions.All); if (busLines.Erro == null) { if (busLines.BusLineList.Count == 0 || busLines.BusLineList == null) { Debug.WriteLine("无查询结果"); return; } IEnumerable <AMapBusLine> bLines = busLines.BusLineList; AMapIcon start = new AMapIcon { Location = new LngLat(bLines.FirstOrDefault().Bus_stops[0].Location.Lon, bLines.FirstOrDefault().Bus_stops[0].Location.Lat), Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/bus_start_pic.png", UriKind.RelativeOrAbsolute)) }; AMapIcon end = new AMapIcon { Location = new LngLat(bLines.FirstOrDefault().Bus_stops.Last().Location.Lon, bLines.FirstOrDefault().Bus_stops.Last().Location.Lat), Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/bus_end_pic.png", UriKind.RelativeOrAbsolute)) }; await baseLayer.Add(start); await baseLayer.Add(end); List <LngLat> lnglats = LngLatsFromString(bLines.FirstOrDefault().Polyline); AMapPolyline polyline = new AMapPolyline { Path = new AGeopath(lnglats) }; await baseLayer.Add(polyline); List <LngLat> busstops = new List <LngLat>(); //添加途径公交站 foreach (AMapBusStop bs in bLines.FirstOrDefault().Bus_stops) { busstops.Add(new LngLat(bs.Location.Lon, bs.Location.Lat)); } //去除起始站和终点站 busstops.RemoveAt(0); busstops.RemoveAt(busstops.Count - 1); foreach (LngLat lnglat in busstops) { var bus = new AMapIcon { Location = lnglat, Image = busRef }; await baseLayer.Add(bus); } aMapControl.TrySetViewBoundsAsync(new LngLatBoundingBox(lnglats), AMapAnimationKind.Default); } else { Debug.WriteLine(busLines.Erro.Message); } }