本文整理汇总了C#中GeoCoordinate.GetMeterDistanceTo方法的典型用法代码示例。如果您正苦于以下问题:C# GeoCoordinate.GetMeterDistanceTo方法的具体用法?C# GeoCoordinate.GetMeterDistanceTo怎么用?C# GeoCoordinate.GetMeterDistanceTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GeoCoordinate
的用法示例。
在下文中一共展示了GeoCoordinate.GetMeterDistanceTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AsVertexRelativeTo
/// <summary>
/// Calculate the position of the object relative the a center
/// </summary>
/// <param name="_center"></param>
/// <returns></returns>
private Vector2 AsVertexRelativeTo(GeoCoordinate _center)
{
/*
* center lonDiffLoc
* +-------+
* | |
* +-------+
* latDiffLoc mLoc
*/
GeoCoordinate latDiffLoc = new GeoCoordinate(latLng.Latitude, _center.Longitude, 0);
GeoCoordinate lonDiffLoc = new GeoCoordinate(_center.Latitude, latLng.Longitude, 0);
double latDiff = _center.GetMeterDistanceTo(latDiffLoc);
double lonDiff = _center.GetMeterDistanceTo(lonDiffLoc);
//Les distances étant des valeurs absolues, il faut parfois appliquer un correctif
if (latDiffLoc.Latitude < _center.Latitude)
latDiff *= -1;
//Ceci risque de ne pas fonctionner si les deux points sont autour du méridien de Greenwhich
if (lonDiffLoc.Longitude < _center.Longitude)
lonDiff *= -1;
//Longitude est X car elle est est-ouest, tandis que latitude est Z car elle est nord-sud
//La différence de latitude est mise au négatif car une valeur plus proche de l'équateur est plus petite
return new Vector2((float)lonDiff, (float)(latDiff));
}