2

我正在升级旧的混合应用程序。
现在我有最新版本的jQuery (1.7 -> 2.2.4)jQuery Mobile (1.1 -> 1.4.5),我也使用 Jquery Migrate (1.4.1)。
这个应用程序包含一个带有使用jquery-ui- 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.jsjquery.ui.map.overlays.jsjquery.ui.map.services.js
我对网络应用程序版本和 apk 或 ipa 有同样的问题。
有没有人有同样的问题?有谁知道为什么不显示“我在这里”的警报?最新版本的 jquery 或 cordova 是否已弃用函数“ getCurrentPosition ”?
太感谢了

4

1 回答 1

0
    $('#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 });        

    });

我相信这些之后的部分是必需的,并且根据文档,您在函数中以错误的方式使用了变量。

于 2017-08-17T15:05:46.660 回答