我正在使用' 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上运行吗?
答案 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秒。