我在txt文件上有1919个纬度和经度的坐标,格式如下:
44.05215, 27.03266,
44.05056, 27.13236,
44.04887, 27.23206,
44.04709, 27.33175,
44.04522, 27.43143,
44.04326, 27.5311,
44.0412, 27.63077,
44.03906, 27.73043,
44.0345, 27.92973,
44.10396, 22.64161,
44.10638, 22.74137,
44.10871, 22.84114,
44.11095, 22.94092,
44.1131, 23.0407,有办法用这个坐标填充xamarin.forms.maps吗?如果可能的话,如何在position属性和label属性中的每个(索引+ 1)上设置坐标?
现在,我在地图上设置了一个这样的引脚(只是为了测试):
map.MoveToRegion(MapSpan.FromCenterAndRadius(
new Position(42.1499994, 24.749997),
Distance.FromMiles(100)));
Pin pin = new Pin
{
Label = "Santa Cruz",
Address = "The city with a boardwalk",
Type = PinType.Place,
Position = new Position(42.1499994, 24.749997)
};
map.Pins.Add(pin);既然我不希望通过移动设备上的文本文件读取数据,那么如何才能最好地编写静态数据,然后作为引脚的坐标提交呢?
我是否可以得到一个例子,说明如何在List或Array或其他东西中设置坐标,以及如何像设置引脚一样设置坐标,并在label属性上设置每个(index + 1)?
发布于 2022-03-21 15:53:10
然而,正如其中一条评论所指出的,几乎总是有比硬编码更好的选择。更好的选择是调用API来获取位置,这样当位置需要更新时,应用程序就不需要重新编译了。下一个最好的选择是一个文件或资源,如果需要,团队的非技术成员可以更新该文件或资源。
但是,如果您完全准备硬编码这些位置,我将在静态类中使用静态列表:
public static class HardcodedLocations
{
public static List<Position> Positions = new List<Position>
{
new Position(44.05215, 27.03266),
new Position(44.05056, 27.13236),
new Position(44.04887, 27.23206)
};
}然后,在需要添加引脚的地方,可以使用For循环来保留索引,同时添加引脚:
for (int i = 0; i < HardcodedLocations.Positions.Count; i++)
{
var pin = new Pin
{
Label = $"Santa Cruz - {i+1}",
Address = "The city with a boardwalk",
Type = PinType.Place,
Position = HardcodedLocations.Positions[i]
};
map.Pins.Add(pin);
}

请注意,我不知道在循环中添加将近2000个引脚的性能会是什么样子。
https://stackoverflow.com/questions/71558788
复制相似问题