Coordinates
不是在浏览器中公开以供 Web 开发人员使用的东西。它是 W3C 地理规范为实现地理定位功能的浏览器供应商定义的接口。接口描述了某种类型的数据结构的外观。例如,coords
在以下示例中:
navigator.geolocation.getCurrentPosition(function (pos) {
var coords = pos.coords
console.log(coords)
})
即使您可以Coordinates
使用以下代码检索 of 的文字。它只是一个对象(是的,它是原型,而不是构造函数),你几乎不能做任何事情。
Object.getPrototypeOf(pos.coords)
所以这里有两点:
Coordinates
不适合 Web 开发人员。
Coordinates
甚至不是一个函数。
我猜唯一的方法是定义您自己的验证器并检查输入值是否满足您的要求。这会更容易,因为Coordinates
有一个特殊的toString()
符号:
props: {
coords: {
validator: function (value) {
return value.toString() === '[object Coordinates]'
}
}
}
但是,如果您手工制作自己的坐标数据,此验证器可能会失败。一种更通用的方法就像鸭子打字一样,只需检查它是否具有您需要的适当属性,latitude
通常longitude
情况下。