Worklight アプリのマップ モジュールに jquery-ui-map V3 プラグインを使用しています。私のコードは Mobile Browser Simulator で動作します。しかし、Androidデバイスで実行しようとすると、場所を取得できません。デバイスのインターネットは機能しており、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");
}
});
});
});