这是我第一次使用stackoverflow,因为我真的很想解决这个问题。
我正在开发一个应用程序,其中包含有关我国巴士站的信息(如果我尝试从公共汽车上的X到Y,谷歌地图不起作用)所以我决定自己做。我已经跟踪了很多公共汽车的每一站。
我在我的osmdroid地图视图中显示每个公共汽车站作为叠加,我从内部数据库获取此信息,正如我所说,我收集了信息并且不在线。
我现在要做的是获取用户的位置(纬度,长度)并告诉他/她壁橱巴士停在他/她的位置。我已经看过Osmdroid bonuspack和POI功能,但据我所知,这些地方(餐馆,公共汽车站,医院等)已经在服务器上了。
如何使用本地信息在我的应用程序上实现POI功能。我很感激任何帮助,这是我想为我的社区做的事情。
谢谢大家,对不起我的英语不好。我正竭尽全力。
答案 0 :(得分:0)
您已在数据库中拥有公交车站的坐标,并以叠加显示。您还可以获取当前用户的位置。你想要实现的是计算两点之间的geographical distance(用户的位置和公共汽车站)。
您不必自己实施合适的配方,例如:看看GeoPoint
课程。有distanceTo(final IGeoPoint other)
方法。您可以使用已知坐标实例化GeoPoint
,或者只使用叠加方法。
你也可以通过查询用户位置某个半径范围内的公交车站(也许看看BoundingBox
)来实现同样的目的
如果您想使用像BonusPack这样的库,请查看提供程序实现。您可以简单地为您的巴士站编写自己的提供商。看看例如this一个。
答案 1 :(得分:0)
> How can I implement a POI function on my
> application with local information
我认为你的问题是关于如何在本地设备上渲染busstop"而不是"如何查询我的本地数据库"而不是"如何做一些服务器端支持。"
如果您想在本地Android设备上渲染busstops,可以使用osmbonuspack
,其中包含example app,其中显示了如何呈现交互式poi-s。
不幸的是,目前在jcenter / mavencentral上没有预编译的osmbonuspack,所以你必须将源包含在项目的本地子目录中。