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