Android模拟器 - 如何获得地理位置?

时间:2011-12-23 16:11:50

标签: google-maps android-emulator jquery-mobile

我正在使用' jquery-ui-map'对于Android应用程序。我的模拟器是Google API Level 13版本3.2。我的Javascript代码是:

$('#gps_map').live("pageshow", function() {
$('#map_canvas_2').gmap('refresh');
$('#map_canvas_2').gmap('getCurrentPosition', function(position, status) {
    if ( status === 'OK' ) {
        var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
        $('#map_canvas_2').gmap('get', 'map').panTo(latlng);
        $('#map_canvas_2').gmap('search', { 'location': latlng }, function(results, status) {
            if ( status === 'OK' ) {
                $('#from').val(results[0].formatted_address);
            }
        });
    } else {
        alert('Unable to get current position');
    }
});});

此代码始终无法获取位置。我无法在模拟器中看到GPS图标。我尝试设置所有可能的权限,尝试使用geo fix方法设置latlong坐标,但没有任何效果。地理位置可以在android上运行吗?

1 个答案:

答案 0 :(得分:0)

终于找到了答案。

$('#map_canvas').gmap('getCurrentPosition', function(pos, status) {
        if (status === "OK") {
            var latLng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
            $('#map_canvas').gmap('option', 'center', latLng);
        } else {
            // error msg
        }
    }, { timeout: 10000, enableHighAccuracy: true} );

在选项中添加更长的超时,如上所示可以解决问题。该示例显示了长时间超时:10秒。