谷歌浏览器:通过控制台覆盖地理位置

3
所以,先介绍一下我的问题背景:我正在使用谷歌地图指示API编写一个简单的驾驶路线网页应用程序,该API提供了LatLng路径以及文本指示。 为了测试这个应用程序(不需要开车),我需要模拟地理位置路径。Google Chrome支持通过传感器开发者设置覆盖地理位置数据,这对于一个坐标点来说没有问题。 所以我的问题是 - 是否可以通过控制台(即javascript api)设置浏览器的navigator.geolocation数据,而不是手动更新传感器设置菜单中的值? 我知道在这种情况下,我可以使用另一个输入源代替浏览器地理位置数据,并使用静态LatLng数组,或者覆盖浏览器的navigator.geolocation.getCurrentPosition,但我认为覆盖传感器会更加复杂。 提前致谢。
1个回答

4

一种方法是通过重写函数navigator.geolocation.getCurrentPosition来使用自定义函数。在自定义函数内部,您可以自定义纬度和经度的值。

var customPosition = {};
customPosition.coords = {};
customPosition.coords.latitude = 41.89;
customPosition.coords.longitude = 2.89;

navigator.geolocation.getCurrentPosition = function(success, error){
    success(customPosition);

};

function success(position) {
    var latitude  = position.coords.latitude;
    var longitude = position.coords.longitude;

    console.log("latitude: " + latitude);
    console.log("longitude: " + longitude);
  }

嗨,这很好,但是如果我们尝试检查当前位置,它不会显示自定义位置,请查看我的代码jsfiddle在这里。如果您能帮助我,我将非常高兴。 - Parikshit Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,