Bing经纬度点的WPF半径

Bing WPF radius of a longitude and Latitude point

我的 Bing 地图 WPF 上有多个位置,经度和纬度坐标,我知道如何测量两个设定位置之间的距离并一次显示所有图钉。但是为了提高效率并减少地图上所需的延迟,我只想显示固定点一定距离内的点。

例如大笨钟在 51.500733,-0.124658 是我的固定点,如果我的另一个位置在 5 英里半径范围内,例如London eye 51.503364, -0.119522 它会显示,但半径之外的任何东西都不会显示。目前,当用户单击一个按钮到我的点之一时,该过程被激活,然后显示图钉。目前,我专注于在 VB 中使用 If 语句过滤出设置位置的经度和纬度坐标范围的理论。

任何关于改进我的方法或不同做法的想法都会非常有益。

这是一项非常常见的任务,可以通过多种不同的方式完成。这完全取决于您的数据存储位置。如果您将数据存储在 Bing 空间数据服务中,它会将其公开为空间 REST 服务,为您提供附近的搜索功能。您可以在这里找到一篇关于此的好文章:https://msdn.microsoft.com/en-us/library/dn948092.aspx

如果它托管在数据库中,请查看此博客 post,了解如何创建空间 REST 服务来公开您的数据。由于这是一个 WPF 应用程序,您可以跳过服务部分并将大部分代码直接添加到您的 WPF 应用程序中。

https://blogs.bing.com/maps/2013/07/31/how-to-create-a-spatial-web-service-that-connects-a-database-to-bing-maps-using-ef5/

https://blogs.bing.com/maps/2013/08/05/advance-spatial-queries-using-entity-framework-5/

如果您的数据位于列表中,您可以简单地遍历它并获取中心点一定距离内的所有位置。