Google maps api 3 如何在navigator.geolocation.getcurrentposition完成后调用另一个js函数?
看看这个:Google maps api 3 如何在navigator.geolocation.getcurrentposition完成后调用另一个js函数?,google-maps-api-3,Google Maps Api 3,看看这个: function doGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(positionSuccess, positionError); if(//here i need check) { Save(); } } else {
function doGeolocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(positionSuccess, positionError);
if(//here i need check)
{
Save();
}
}
else
{
positionError(-1);
}
}
因此,在内部的“if”中,我想检查navigator.geolocation.getcurrentposition()是否;已成功完成。任何帮助都将不胜感激
谢谢..
getCurrentPosition
自行检查是否成功,并根据结果调用不同的函数
在函数中,一旦成功,将调用名为positionSuccess
的函数;如果地理定位失败,则将调用positionError
因此,您需要提供一个名为positionSuccess()
的函数来进行保存。你不需要自己检查
请记住,
getCurrentPosition
需要一些时间。这将交给一个单独的进程[这称为异步处理],您的代码将继续到下一行。在您当前的代码中,执行将在找到地理定位结果之前很好地到达“here I need check”测试。这就是为什么还有其他函数来处理成功和失败-无法保证结果何时返回。正确。.我不希望if块中的“save”方法能够开始执行自己。在我的保存方法中,我将获取的坐标信息保存到客户端的Cookie中,并在需要时使用它们在地图上指向保存的位置信息。正如您所说,当前它获取默认坐标并保存它们,这当然是我不想要的。@Unknown:因此,仅在“Success”回调函数中执行保存操作,您已将其命名为positionSuccess()
。只有当getCurrentPosition
成功时,才会调用该函数。