Windows Phone 8 具有GeoCoordinateWatcher
Windows Phone 7 中存在的 ,但它也具有Geolocator
,两者都执行相同的功能,即允许您“观察”地理位置的变化。我找不到任何关于是否GeoCoordinateWatcher
已弃用、Geolocator
现在是否应该使用的信息——或者两者之间的差异。
有任何想法吗?
Windows Phone 8 具有GeoCoordinateWatcher
Windows Phone 7 中存在的 ,但它也具有Geolocator
,两者都执行相同的功能,即允许您“观察”地理位置的变化。我找不到任何关于是否GeoCoordinateWatcher
已弃用、Geolocator
现在是否应该使用的信息——或者两者之间的差异。
有任何想法吗?
简单 - 如果您不需要或计划 WP7 的版本,仅适用于 WP8,则使用 Geolocator - 它比 GeoCoordinateWatcher 更易于配置。
或者,我在我的应用程序中使用了另一种解决方案,使用依赖注入并为您的地理定位服务实现通用接口,这将在 WP8 版本中使用 Geolocator 并在 WP7 中使用 GeoCoordinateWatcher 来实现。
此外,Geolocator 可以在后台使用,而 GeoCoordinateWatcher 则不能。
我在 WP8 SDK 泄露时写过它。如果您想看一下,我的帖子在下面,但我相信 MSDN 文档也应该在某个地方涵盖它。
希望这些附加信息有用。
不仅它们具有相同的功能,而且 Geolocator 非常快,我已经进行了一些测试,虽然一个好的旧 GeoCoordinateWatcher 可以在大约 3 秒内获得您在粗糙区域的位置,但 GeoLocator 需要大约 0.3 秒才能找到您。因此,为 GeoLocator 获胜。
顺便说一句,我认为“地理定位器可以在后台运行”,他们指的是像他们在这个例子中使用的那样使用它:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj662935 (v=vs.105).aspx
也就是说,没有后台代理的限制。我建议我们开始采用 GeoLocator,除非您同时针对 WP 7.8 和 WP8