2017-08-10 122 views
0

我将我的项目中的.NET版本更改为4.6,但我仍然无法使用GeoCoordinate类。 我有没有做错了什么或Unity不完全支持.NET 4.6?.NET 4.6在Unity中不完全支持?

+1

的可能的复制([为什么我不能看到API兼容级别的.Net 4.6的选择吗?] https://stackoverflow.com/questions/42513782/why-cant-i-see-net-4-6-option-for-api-compatibility-level) – Serlite

回答

2

Unity可能支持所有C#6功能。它确实不是支持所有.NET 4.6 API,因为它使用单声道。即使使用.NET 3.5,也有很多Unity不支持的其他API,因为Mono不支持它。

这应该是而不是是一个问题。您可以从github获得GeoCoordinate API副本。所有你需要的是GeoCoordinate.csGeoPosition.cs文件。

函数名称和其他所有内容都可以与微软的System.Device.Location.GeoCoordinate互换。当导入统​​一后initializing GPS

用法示例(如果有统一的GPS API使用):

LocationInfo gpsInfo = Input.location.lastData; 
LocationInfo gpsInfo2 = Input.location.lastData; 


GeoCoordinate pin1 = new GeoCoordinate(gpsInfo.latitude, gpsInfo.longitude); 
GeoCoordinate pin2 = new GeoCoordinate(gpsInfo2.latitude, gpsInfo2.longitude); 

double distanceBetween = pin1.GetDistanceTo(pin2);