Android:我可以通过多少种方式以编程方式获取当前位置
Posted
技术标签:
【中文标题】Android:我可以通过多少种方式以编程方式获取当前位置【英文标题】:Android : How may ways I can get current location programatically 【发布时间】:2011-04-14 11:10:44 【问题描述】:我可以通过多少种方式在 android 中以编程方式获取当前地理位置(纬度、语言),哪种方式最好、准确且更快??
期待您的建议
谢谢
【问题讨论】:
好帖子我遇到了android10.org/index.php/articleslocationmaps/… 【参考方案1】:您应该阅读 SDK 文档中的 Obtaining User Location。
【讨论】:
不确定是否有最佳方法:GPS 可能很慢,但相当准确;单元格不精确但更快;并非所有设备都有 GPS ;;;使用多种方式的组合可能是最好的方式(首先,celle-tower,快速定位;然后是 GPS,因此更精确) 感谢 Pascal,任何代码示例可供参考(同时使用网络提供商和 GPS) 不,抱歉;我想手册中有示例,但我从未使用过。 好帖子我遇到了android10.org/index.php/articleslocationmaps/…【参考方案2】:可以通过IP地址找到位置:
http://www.google.com.sg/search?aq=1&oq=identifying+location&sourceid=chrome&ie=UTF-8&q=identifying+location+of+ip+addresses
另一种方法是通过 GSM 或控制平面定位,还有其他方法可以在这里找到:
http://en.wikipedia.org/wiki/Location-based_service#Others
【讨论】:
【参考方案3】:在为 Android 开发位置感知应用程序时,您可以利用 GPS 和 Android 的网络位置提供程序来获取用户位置。虽然 GPS 最准确,但它只能在户外工作,它会很快消耗电池电量,并且不会像用户想要的那样快速返回位置。 Android 的网络位置提供程序使用手机信号塔和 Wi-Fi 信号确定用户位置,以一种在室内和室外均可工作、响应速度更快且使用更少电池电量的方式提供位置信息。要在您的应用程序中获取用户位置,您可以同时使用 GPS 和 Network Location Provider,或者只使用一个`
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null)
loc = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null)
loc = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
【讨论】:
以上是关于Android:我可以通过多少种方式以编程方式获取当前位置的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式获取 Android 手机型号,如何在 android 中以编程方式获取设备名称和型号?
如何以编程方式获取android手机的IP地址......? [复制]