我正在使用MvvmCross框架构建跨平台(iOS,Android,WP7)应用程序。我正在使用MvxGeoLocationWatcher为我创建MvxGeoLocation对象,具有所需的Long,Lat,speed,heading等。使用MvvmCross框架时查找两个地理位置之间的距离
我需要找到两个位置之间的距离(如乌鸦)。在Android上,我致电fromLocation.distanceTo(toLocation)
。在iOs上我会使用CLLocationDistance distance = [fromLocation distanceFromLocation:toLocation];
。
因此,这两个平台都使用该位置上的方法来计算距离,而这在MvxGeoLocation对象上当前不可用。
是否有计划很快添加它?如果不是,我将添加此功能的最佳方法是什么?
- 我会改变类本身,并提供平台特定的实现 - 可能是通过使它成为分类并将特定代码放入特定于平台的代码部分类中。或者也许使用扩展方法?
- 或者可能是最好的方法,它需要两个点并返回距离。在这种情况下,这个方法应该在MvxGeoLocationWatcher上吗?
- 从Calculate distance of two geo points in km c#添加计算算法在自己也许使用的东西,忘了使用该平台的具体实现
我会去1 - 用一个扩展方法 - 那么我可能会发布这个作为一个Git样本或只是一个Gist – Stuart 2012-04-26 11:05:58
其实我认为我误读了1 ...我会做的是写一个使用两个位置的扩展方法。我会亲自尝试保持mvvmcross的外部 - 例如在可选的附加库中,甚至只是作为代码片段。我正在考虑尽量保持mvvmcross尽可能轻 - 特别是为了避免不必要的连接器从monotouch膨胀。 – Stuart 2012-04-26 11:22:41