我尝试搜索任何讨论,但没有找到答案。 在指定的离子文件中
this.geolocation.getCurrentPosition().then((resp) => {
// resp.coords.latitude
// resp.coords.longitude
}).catch((error) => {
console.log('Error getting location', error);
});
我的代码是这样的
this.geolocation.getCurrentPosition().then(pos => {
let latLng = new google.maps.latLng(pos.coords.latitude, pos.coords.longitude);
this.map.setCenter(latLng);
this.map.setZoom(15);
}).catch(err => {
console.log(err);
});
当我徘徊时。我收到消息
(method) Geolocation.getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void
Expected 1-3 arguments, but got 0.ts(2554)
lib.dom.d.ts(5389, 24): An argument for 'successCallback' was not provided.
我在YouTube https://www.youtube.com/watch?v=Ru57AkoWMJ4&t=199s上模仿了该教程
我在他的第43行出现错误
答案 0 :(得分:0)
尝试这样更改代码:
this.geolocation.getCurrentPosition(pos => {
let latLng = new google.maps.latLng(pos.coords.latitude, pos.coords.longitude);
this.map.setCenter(latLng);
this.map.setZoom(15);
}, err => { console.log(error)});
该函数要求返回一个Promise
,该请求将在请求成功时执行(与successCallback
相同),而不是返回then
。因此,无需调用then
,而需要像我在代码中一样将函数作为第一个参数传递。另外,您可以提供catch
作为第二个参数,而不必调用errorCallback
。
答案 1 :(得分:0)
我遇到了同样的问题。我是这样解决的:
this.geolocation.getCurrentPosition({maximumAge: 5000, timeout: 5000,
enableHighAccuracy: false})
.then((resp) => {
//alert(resp.coords.latitude);
//alert(resp.coords.longitude);
}).catch((error) => {
console.log('Error getting location', error);
});