0

当我在 Android 上使用 Google 地图时,我创建了一个方法来获取点 A 并计算它是否在距离点 B 1km 的区域内:

float[] results = new float[1];
Location.distanceBetween(centerLatitude, centerLongitude, testLatitude, 
testLongitude, results);
float distanceInMeters = results[0];
boolean isWithin10km = distanceInMeters < 10000;

但是我需要在我的 API 中进行此操作,因此我将 Location(Lat,Long) 发送到我的服务器,我得到一个位置列表并尝试进行匹配并且它们返回一些东西,问题是,如何“解包" 代码,所以我可以切换到 C#!

我找到了它的实现,但它有一些适当的类,我确信它在 C# 中不存在!这里

4

1 回答 1

0

我建议您使用该程序集Sysetem.Device.Location(如果您的机器上没有 nugetpackage,您可以从此处下载)。

然后,您可以使用GeoCoordinate该类执行以下操作:

var geo1=new GeoCoordinate(centerLatitude, centerLongitude);
var geo2=new GeoCoordinate(testLatitude, testLongitude):
var result=geo1.GetDistanceTo(geo2);

有关详细信息,请访问MSDN上的文档。

于 2017-07-04T13:04:26.517 回答