private async Task Button_Clicked()
        {
            var locator  = CrossGeolocator.Current;
            var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));

            var Lat = position.Latitude.ToString();
            var Lon = position.Longitude.ToString();

            // 現在地をスタート地点に地図表示
            var map = new Map(MapSpan.FromCenterAndRadius(
                                  new Position(position.Latitude, position.Longitude), Distance.FromMiles(0.3)))
            {
                IsShowingUser   = true,
                HeightRequest   = 100,
                WidthRequest    = 960,
                VerticalOptions = LayoutOptions.FillAndExpand
            };

            var stack = new StackLayout {
                Spacing = 0
            };

            stack.Children.Add(pinbutton);
            stack.Children.Add(map);
            Content = stack;

            // Define user location and distance might be navigated as kilometer?
            await GeoSearchAsync(lat : Lat, lon : Lon, distance : 100);

//            Regex re = new Regex(@"[^0-9]");
            for (int i = 0; i < 15; i++)
            {
                var pinn = new Pin
                {
                    Type     = PinType.SearchResult,
                    Position = new Position(Modelss[i].Geolocation.Latitude, Modelss[i].Geolocation.Longitude),
                    //Position = new Position(35.681298, 139.766247),
                    Label   = Modelss[i].Snackname,
                    Address = Modelss[i].Address,
                };

                Device.BeginInvokeOnMainThread(() =>
                {
                    // 同期(UIスレッド)
                    map.Pins.Add(pinn);
                });


                pinn.Clicked += async(x, y) => {
                    // string id = re.Replace(pinn.Id.ToString(), "");
                    var page = new SnackDetailsPage(pinn.Address);
                    await Navigation.PushAsync(page);
                };
            }
        }
Example #2
0
        async void OnListViewItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var model = ((ListView)sender).SelectedItem as Models;

            if (model != null)
            {
                var page = new SnackDetailsPage(model.Address);
                //            page.BindingContext = model;
                await Navigation.PushAsync(page);
            }
        }