首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用javascript获取gps位置

使用javascript获取gps位置
EN

Stack Overflow用户
提问于 2014-10-20 16:27:57
回答 3查看 3.3K关注 0票数 2

我正在使用平板电脑,在html应用程序上工作,希望在不使用任何网络连接的情况下获得gps位置。请给我一些简单的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-20 16:31:09

使用JS,您可以像这样获得它

代码语言:javascript
复制
 <script>
   var x = document.getElementById("demo");
    function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude +  "<br>Longitude: " + position.coords.longitude;
}
</script>
票数 4
EN

Stack Overflow用户

发布于 2014-10-20 16:34:32

您必须创建一个LocationManager类的实例。并且您可以使用getLastKnownLocation方法来查找位置。必须将Location.GPS_PROVIDER作为参数传递。

代码语言:javascript
复制
LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
Location userLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Log.d("Latitude", userLocation.getLatitude());
Log.d("Longitude", userLocation.getLongitude());
票数 0
EN

Stack Overflow用户

发布于 2014-10-20 16:37:47

如果你想获得更准确的位置信息,你应该请求更新,最后已知的位置对你来说是不够的。GPS_PROVIDER将只提供来自全球定位系统的位置更新,而不提供来自网络提供商的位置更新。但是,如果使用NETWORK_PROVIDER,则可以在室内获得更准确的位置值。

代码语言:javascript
复制
public class MainActivity extends Activity implements LocationListener{

    protected LocationManager locationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
    }

    @Override
    public void onLocationChanged(Location location) {
        txtLat.setText("Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude());
    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.d("Latitude","disable");
    }

    @Override
    public void onProviderEnabled(String provider) {
        Log.d("Latitude","enable");
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        Log.d("Latitude","status");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26461367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档