4Manuals

  • PDF Cloud HOME

渲染异步创建的自定义引脚Xamarin.Forms的问题 Download

    从文件初始化类的最佳方法(异步)? 此声明在dart中的Future类中意味着什么:FutureOr <R>函数(动态)onValue Django从GET 如何在Dart中顺序执行异步功能 如何使用jQuery将现有输入文本添加到动态创建的表单中? 如何将输入值从自定义输入组件推入父组件的数组中? jQuery验证插件和Ajax提交 如何调用回调函数? Google.apis.youtube.v3 xamarin.android示例 JS-如何在文本为空且未选中复选框的情况下停止表单提交?

我对customrender有问题,因为我异步创建了地图图钉(下面的代码),但是要自定义图钉和信息窗口,我需要同步获取这些图钉的列表,我是新手,请谅解并提供帮助这个问题。谢谢

private async void MapPins()

    {
        var locator = CrossGeolocator.Current;
        locator.DesiredAccuracy = 50;
        var position = await locator.GetPositionAsync();

        var allPins = await firebaseHelper.GetAllparameters();



        foreach (Pin item in allPins)
        {
            var dys = Location.CalculateDistance(new Location(position.Latitude, position.Longitude), new Location(Convert.ToDouble(item.Latitude), Convert.ToDouble(item.Longitude)), DistanceUnits.Kilometers);
            if (dys < 0.3)
            {
                CustomPin pin = new CustomPin
                {
                    Type = PinType.Place,
                    Position = new Position(Convert.ToDouble(item.Latitude), Convert.ToDouble(item.Longitude)),
                    Label = item.Name,
                    Address = item.Adress,
                    Name = item.Name,

                };

                customMap.Pins.Add(pin);                  
            }

        }

    }

1 个答案:

答案 0 :(得分:0)

首先应创建所有引脚,创建完成后,即可开始自定义引脚和信息窗口。

private async void MapPins()

{
    var locator = CrossGeolocator.Current;
    locator.DesiredAccuracy = 50;
    var position = await locator.GetPositionAsync();

    var allPins = await firebaseHelper.GetAllparameters();



    foreach (Pin item in allPins)
    {
        var dys = Location.CalculateDistance(new Location(position.Latitude, position.Longitude), new Location(Convert.ToDouble(item.Latitude), Convert.ToDouble(item.Longitude)), DistanceUnits.Kilometers);
        if (dys < 0.3)
        {
            CustomPin pin = new CustomPin
            {
                Type = PinType.Place,
                Position = new Position(Convert.ToDouble(item.Latitude), Convert.ToDouble(item.Longitude)),
                Label = item.Name,
                Address = item.Adress,
                Name = item.Name,

            };

            customMap.Pins.Add(pin);
        }

    }

    // customize the pins and the information window here 
    // get all pins
    List<CustomPin> pins = customMap.Pins;
    //add your customize code
}



Similar searches
    如何在x86处理器上实现“锁定添加” 为什么递归异步函数在Rust中需要'静态参数? 使用H2进行Spring Boot测试-找不到表“ OAUTH_ACCESS_TOKEN” Samsung RT34MA Refrigerator User Manual 保存json文件的困难