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以编程方式获取可见布局的高度

如何以编程方式获取android手机的IP地址......? [复制]

如何以编程方式在android中获取连接的wifi路由器的IP地址?

android - 获取以编程方式创建的视图的估计高度

以编程方式获取 Android 设备的 MAC