我在Worklight app中为地图模块使用jquery-ui-map V3插件。我的代码适用于移动浏览器模拟器。但是当我尝试在Android设备上运行它时,我无法获得位置。 Internet on Device正在运行GPS也已开启。我还在Android清单文件中添加了ACCESS_FINE_LOCATION权限。
这是代码:
<head>
<script type="text/javascript" src="js/Ambit/nearestLocation.js"></script>
<script type="text/javascript" src="jquery.ui.map.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="jquery.ui.map.services.js"></script>
<script type="text/javascript" src="jquery.ui.map.overlays.js"></script>
<script type="text/javascript" src="jquery.ui.map.extensions.js"></script>
</head>
nearestLocation.js:
$('#FindATM').live("pageshow", function () {
$('#map_canvas').gmap().bind('init', function () {
$('#map_canvas').gmap('getCurrentPosition', function(position, status) {
if ( status === 'OK' ) {
var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': true,'zoom': 11});
$('#map_canvas').gmap('addShape', 'Circle', {
'strokeWeight': 0,
'fillColor': "#008595",
'fillOpacity': 0.25,
'center': clientPosition,
'radius': 10,
'clickable': true
});
alert("If block is not executed on Android device. It does on Mobile Browser simulator");
}
});
});
});
答案 0 :(得分:1)
在Android上使用基于网络的地图时,我发现我需要添加到清单:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
还需要在设备或avd图像上启用GPS卫星和定位服务。
可能有更多精炼方法,但这项工作上次我不得不让它工作。