OSMSharp - 获取有关实际道路的信息

时间:2015-10-02 11:21:53

标签: c# android xamarin openstreetmap

我正在尝试为Android编写应用程序(C# - Xamarin),我加载了一个PBF文件,我可以在两个地方(坐标)之间找到路线。但我不知道怎样才能得到关于我所在的地方的信息(通过坐标)。我想了解一下我所在的道路(街道),例如街道名称,限速......

我没有发现任何相关信息。我希望有人知道该怎么做。

1 个答案:

答案 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的速度估计值。