Javascript 对于没有SSL的网站,是否提供getCurrentPosition()的免费替代方案?

Javascript 对于没有SSL的网站,是否提供getCurrentPosition()的免费替代方案?,javascript,browser,geolocation,location,Javascript,Browser,Geolocation,Location,首先,我知道这是存在的。我需要一个免费(或非常便宜)的解决方案,所以我再次问这个问题 getCurrentPosition()和watchPosition()在不安全的源上不推荐使用。要使用这个特性,您应该考虑将应用程序切换到安全的原点,例如HTTPS.< /P>。 Chrome禁止在没有SSL的网站上使用getCurrentPosition() 谷歌地图API可以解决这个问题,但它的价格太低了。(我们正在管理一个每天页面浏览量超过40万次的新闻门户网站) 有人知道getCurrentPosit

首先,我知道这是存在的。我需要一个免费(或非常便宜)的解决方案,所以我再次问这个问题

getCurrentPosition()和watchPosition()在不安全的源上不推荐使用。要使用这个特性,您应该考虑将应用程序切换到安全的原点,例如HTTPS.< /P>。 Chrome禁止在没有SSL的网站上使用getCurrentPosition()

谷歌地图API可以解决这个问题,但它的价格太低了。(我们正在管理一个每天页面浏览量超过40万次的新闻门户网站)

有人知道getCurrentPosition()有什么免费(或非常便宜)的替代品吗?

你可以使用API来实现这一点(这是我的服务)。每天最多1000个请求是免费的(有或没有SSL支持)。它提供了坐标、名称等信息。下面是一个例子:

curl ipinfo.io
{
  "ip": "172.56.39.47",
  "hostname": "No Hostname",
  "city": "Oakland",
  "region": "California",
  "country": "US",
  "loc": "37.7350,-122.2088",
  "org": "AS21928 T-Mobile USA, Inc.",
  "postal": "94621"
}
下面的示例构造了一个coords对象,该对象的API响应与从
getCurrentPosition()
获得的响应相匹配:

下面是一个详细的示例,演示了如何使用它作为
getCurrentPosition()
的后备方案:


谢谢,但这并不能回答我的问题。还是谢谢你
$.getJSON('https://ipinfo.io/geo', function(response) { 
    var loc = response.loc.split(',');
    var coords = {
        latitude: loc[0],
        longitude: loc[1]
    };
});
function do_something(coords) {
    // Do something with the coords here
}

navigator.geolocation.getCurrentPosition(function(position) { 
    do_something(position.coords);
    },
    function(failure) {
        $.getJSON('https://ipinfo.io/geo', function(response) { 
        var loc = response.loc.split(',');
        var coords = {
            latitude: loc[0],
            longitude: loc[1]
        };
        do_something(coords);
        });  
    };
});