我的问题有一些背景知识;我正在使用 Google Maps directions API 编写一个简单的驾驶说明 Web 应用程序,它为我提供 LatLng 路径以及文本说明。
为了测试此应用程序(无需驾驶汽车),我需要模拟地理定位路径。 Google Chrome 浏览器支持通过传感器开发人员设置覆盖地理位置数据,这在当时仅适用于一个坐标。
所以我的问题是 - 是否可以通过控制台(即 javascript api)设置浏览器 navigator.geolocation 数据,而不是手动更新传感器设置菜单中的值?
我知道在这种情况下我可以只使用浏览器地理定位数据之外的另一个输入源并使用 LatLng 的静态数组,或者覆盖浏览器 navigator.geolocation.getCurrentPosition,但我认为覆盖会更复杂取而代之的是传感器。
提前致谢。
最佳答案
一种方法是使用您自己的自定义函数覆盖函数 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);
}
关于javascript - 谷歌浏览器 : Override geolocation via console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950093/