从网络浏览器获取GPS位置

2020/10/26 11:02 · javascript ·  · 0评论

我正在开发一个基于移动设备的网站,在那里我已经集成了Google Maps,我需要动态填写Google Maps的“发件人”字段。

是否可以通过网络浏览器获取GPS位置并将其动态填写到Google Map的“发件人”字段中?

如果您使用Geolocation API,则就像使用以下代码一样简单。

navigator.geolocation.getCurrentPosition(function(location) {
  console.log(location.coords.latitude);
  console.log(location.coords.longitude);
  console.log(location.coords.accuracy);
});

您也许还可以使用Google的“客户端位置API”

是否可以检测到移动浏览器的GPS位置中讨论了此问题从移动浏览器获取位置数据您可以在此处找到更多信息。

给出更具体的答案。HTML5允许您获取地理坐标,并且做得相当不错。总体而言,浏览器对地理位置的支持非常好,除ie7和ie8(以及Opera mini)之外,所有主流浏览器都支持。IE9可以胜任,但表现最差。结帐caniuse.com:

http://caniuse.com/#search=geol

另外,您还需要用户的批准才能访问他们的位置,因此请确保您已进行检查并提供了一些体面的指示,以防其被关闭。特别是对于Iphone,打开Safari的权限有点麻烦。

使用它,您将在http://www.w3schools.com/html/html5_geolocation.asp中找到所有信息

<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>

GeoLocation API,但目前对浏览器的支持还很薄。大多数关心此类事情的站点都使用GeoIP数据库(关于此类系统不准确的常见条件)。您还可以查看需要用户合作的第三方服务,例如FireEagle

可观察的

/*
  function geo_success(position) {
    do_something(position.coords.latitude, position.coords.longitude);
  }

  function geo_error() {
    alert("Sorry, no position available.");
  }

  var geo_options = {
    enableHighAccuracy: true,
    maximumAge        : 30000,
    timeout           : 27000
  };

  var wpid = navigator.geolocation.watchPosition(geo_success, geo_error, geo_options);
  */
  getLocation(): Observable<Position> {
    return Observable.create((observer) => {
      const watchID = navigator.geolocation.watchPosition((position: Position) => {
        observer.next(position);
      });
      return () => {
        navigator.geolocation.clearWatch(watchID);
      };
    });
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }

让我们使用最新的胖箭头功能

navigator.geolocation.getCurrentPosition((loc) => {
  console.log('The location in lat lon format is: [', loc.coords.latitude, ',', loc.coords.longitude, ']');
})
本文地址:http://javascript.askforanswer.com/congwangluoliulanqihuoqugpsweizhi.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!