Firefox的地理定位提供程序,允许手动输入
-
05-07-2019 - |
题
是否有任何简单的方法可以覆盖地理定位API 的默认行为,只需硬编码你当前的位置?
我认为这对于测试和隐私原因(提供假位置数据)非常有用
我认为有一个补充,但我似乎找不到一个。现在只有选项似乎正在将about:config geo.wifi.url更改为一些替代的web服务,我认为这个过于复杂。
有什么想法吗?
由于
理想情景
有人实现了一个附加组件,其中显示了Google地图,我可以选择一个新的默认位置。
解决方案
geo.wifi.uri不需要是网络服务。您还可以使用file:// ...
将其设置为本地uri该文件应该是一个json文件,其内容如下:
{"location": {
"latitude": 48.777025000000002,
"longitude": 9.1713909999999998,
"accuracy": 10.0}}
<强>更新强> 对于Firefox 9+,格式已更改:
{
"status": "OK",
"accuracy": 10.0,
"location": {"lat": 48.777, "lng": 9.171}
}
或者你可以将它们结合起来以支持两者:
{
"status": "OK",
"accuracy": 10.0,
"location": {
"lat": 48.777,
"lng": 9.171,
"latitude": 48.777,
"longitude": 9.171,
"accuracy": 10.0
}
}
更新:看起来手动设置此偏好设置已被提供商阻止,假定使用Google服务。请参阅错误716453 更新2: geo.wifi.uri not geo.wifi.url
其他提示
最简单的方法是导航到 about:config
,然后在过滤器框中输入 geo.wifi.uri
,双击显示的唯一配置行,并使用从 xxx 和 yyy
后输入以下值。 COM /“> http://www.getlatlon.com/ :
<代码>数据:应用程序/ JSON,{&QUOT;位置&QUOT;:{&QUOT;纬度&QUOT;:XXX,&QUOT;经度&QUOT;:YYY,&QUOT;准确性&QUOT;:10}} 代码>
此技巧不需要任何加载项或本地/托管文件。确保该值没有任何空格并且在一行上!
Geolocater 是一个实验性附加组件,可让您编辑地理定位。
在Chrome中,您可以使用手动地理定位 Chrome扩展程序。它会让您以图形方式选择手动位置。
嗯,你不能直接模拟 navigator.geolocation
- 也许你可以重构使用它的代码来使用另一个对象 - 比如 customGeoLocation
。
在生产中,您只需将 customGeoLocation
设置为 navigator.geolocation
,并在测试中使用您使用的任何功能的模拟实现。
编辑:原来你可以替换 navigator.geolocation
对象上的函数,但是如果你使用需要创建的模拟库(如JsMock)那仍然没用一个模拟对象。所以你将无法用mock替换 navigator.geolocation
。
你可以用这种方式自己做嘲笑:
var getCurrentPositionCalled = false;
navigator.geolocation.getCurrentPosition = function() {
getCurrentPositionCalled = true;
};
//Your app code here
//...
assert(getCurrentPositionCalled);
我已将Google Latitude连接到Firefox地理位置。这样,您只需单击鼠标即可手动更新谷歌纵横中的位置,而无需自行查找纬度和经度并将其键入本地文件。我关于这个主题的文章是让Firefox从谷歌纵横中获取地理位置。
解决方案需要少量的服务器端编码(我在文章中提供了源代码),但我暂时将此代码作为您可以使用的免费实时服务运行。
干杯,MetaEd
我创建了一个简单的Web应用程序,用作地理位置终结点,您可以将浏览器的geo.wifi.uri指向。它与Google API规范兼容。要使用它,只需输入以下内容,将[纬度]和[经度]替换为所需的值:
http://geolocation-mocker.phitherek.me/geolocate/[latitude]/[longitude]
它应该有效。要检查服务是否已启动,请导航至
http://geolocation-mocker.phitherek.me
并检查HTML页面是否正确显示。您可以在
找到此简单应用的源代码https://github.com/Phitherek/geolocation-mocker
我希望这个工具能证明是有用的。