Geolocation Without SSL connection

前端 未结 4 1820
耶瑟儿~
耶瑟儿~ 2020-12-13 20:50

I am developing an application which uses geolocation coordinates. I used the HTML5 geolocation feature to find out the location of the site visitor, but the issue is with C

4条回答
  •  孤街浪徒
    2020-12-13 21:23

    var apiGeolocationSuccess = function(position) {
        alert("API geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
    };
    
    var tryAPIGeolocation = function() {
        jQuery.post( "https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyDCa1LUe1vOczX1hO_iGYgyo8p_jYuGOPU", function(success) {
            apiGeolocationSuccess({coords: {latitude: success.location.lat, longitude: success.location.lng}});
      })
      .fail(function(err) {
        alert("API Geolocation error! \n\n"+err);
      });
    };
    
    var browserGeolocationSuccess = function(position) {
        alert("Browser geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
    };
    
    var browserGeolocationFail = function(error) {
      switch (error.code) {
        case error.TIMEOUT:
          alert("Browser geolocation error !\n\nTimeout.");
          break;
        case error.PERMISSION_DENIED:
          if(error.message.indexOf("Only secure origins are allowed") == 0) {
            tryAPIGeolocation();
          }
          break;
        case error.POSITION_UNAVAILABLE:
          alert("Browser geolocation error !\n\nPosition unavailable.");
          break;
      }
    };
    
    var tryGeolocation = function() {
      if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(
            browserGeolocationSuccess,
          browserGeolocationFail,
          {maximumAge: 50000, timeout: 20000, enableHighAccuracy: true});
      }
    };
    
    tryGeolocation();
    

提交回复
热议问题