我正在尝试为Android编写应用程序(C# - Xamarin),我加载了一个PBF文件,我可以在两个地方(坐标)之间找到路线。但我不知道怎样才能得到关于我所在的地方的信息(通过坐标)。我想了解一下我所在的道路(街道),例如街道名称,限速......
我没有发现任何相关信息。我希望有人知道该怎么做。
答案 0 :(得分:1)
免责声明:我是OsmSharp / Itinero的原作者。
您可以使用此代码获取有关给定位置边缘的信息:
var routerDb = RouterDb.Deserialize(...); // load routerdb here.
var router = new Router(routerDb);
var routerPoint = router.Resolve(Vehicle.Car.Fastest(), new Coordinate(51.269692005119616f, 4.783473014831543f));
var edge = routerDb.Network.GetEdge(routerPoint.EdgeId);
var attributes = routerDb.GetProfileAndMeta(edge.Data.Profile, edge.Data.MetaId);
var speed = Vehicle.Car.Fastest().Speed(attributes);
属性是原始OSM标签的集合,speed是Car profile的速度估计值。