我正在升级旧的混合应用程序。
现在我有最新版本的 jQuery (1.7 -> 2.2.4) 和 jQuery Mobile (1.1 -> 1.4.5),我也在用Jquery 迁移 (1.4.1)。
此应用程序包含一个页面,其中包含使用 jquery-ui-map 创建的 map ,我正在使用 PhoneGap 测试该应用程序。
在此页面中,我有一个按钮,我想获取用户的当前位置。
我使用这段代码:
$('#button-getcurrentposition').click(function(){
$('#map-canvas').gmap('getCurrentPosition', function(position, status) {
alert("I'm here");
if ( status === 'OK' ) {
var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$('#map-canvas').gmap('option','center', clientPosition);
}
});
});
但是警告“我在这里”从未显示,我不知道为什么,所以我无法获得用户的当前位置。
我包含了 jquery.ui.map.extensions.js、jquery.ui.map.overlays.js 和 jquery.ui.map.services.js强>。
我的web app 版本和apk 或ipa 也有同样的问题。
有没有人有同样的问题?有谁知道为什么不显示警告“我在这里”?最新版本的 jquery 或 cordova 是否弃用了函数“getCurrentPosition”?
非常感谢
最佳答案
$('#button-getcurrentposition').click(function(){
$('#map-canvas').gmap('getCurrentPosition', function(status, position) {
alert("I'm here");
if ( status === 'OK' ) {
var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$('#map-canvas').gmap('option','center', clientPosition);
}
}, { timeout: 4000, enableHighAccuracy: true });
});
我相信这些 after 部分是必需的,并且根据文档,函数中的变量以错误的方式存在。
关于javascript - 使用 jquery ui map (gmap) 获取当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738642/