0

下手な英語でごめんなさい。

Phonegap (Android 用) に基づいて APP を開発しました。Samsung タブレットと Lenovo タブレットで実行し、正常に動作します (phonegap の GPS コードで動作します)。スマートフォン Samsung Galaxy S4 で実行すると、アプリで GPS が機能しません (追加された Google マップに地理位置情報を表示しません)。

他に行うべき設定はありますか?

回答ありがとうございます...

繰り返しますが、下手な英語をおねがいします。

編集:

コード HTML map-canvas:

<body onLoad="initialize()">
    <div data-role="header" data-theme="c" data-position="fixed" data-tap-toggle="false">
            <a href="" data-rel="back" data-role="button" data-icon="back" data-iconpos="notext" data-transition="slide">Atrás</a>
            <center style="margin-top: 5px; margin-bottom: 5px;">
                <img src="../../img/TargetHR.png" width="65%" height="10%" />
            </center>
    </div>

    <div data-role="content" height="100%">
    <center>
                <table width="80%" height="30%" >
                    <tr>
                        <td
                            style="height: 70px; font-size: 1em; color: #4A6169; line-height: 27px">
                            <b>Nombres: </b> Edgar Luis<br /> 
                            <b>Apellidos: </b> Padilla Rivera<br /> 
                            <b>Fecha / Hora: </b> <br /> 
                            <b>Estado: </b> <div id="estado" style="display: inline;"></div><br />
                        </td>
                        <td align="center"> <div id="btnRegistro" data-role="button" data-mini="true">Registrar</div> </td>
                    </tr>
                </table><br/>
                </center>
        <div id="map-canvas" style="height:600px; width: 100%;"></div>
    </div>

コード .JS (本体の initialize() ):

関数の初期化() {

    if(google === undefined) {
        alert("Google Maps no se ha cargado");
    } else {

        // OPCIONES DEL MAPA
        var mapOptions = {
            center : new google.maps.LatLng(-12.105833, -76.970801),
            zoom : 17,
            panControl : true,
            zoomControl : true,
            scaleControl : true,
            streetViewControl : true,
            mapTypeId : google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById("map-canvas"),
                mapOptions);

        map.setTilt(45);

        // POLIGONO OFICINA - PUNTOS
        var poligono = [ 
                new google.maps.LatLng(-12.106510, -76.970516),
                new google.maps.LatLng(-12.106421, -76.970409),
                new google.maps.LatLng(-12.106476, -76.970360),
                new google.maps.LatLng(-12.106554, -76.970465)      ];

        // POLIGONO OFICINA - PINTAR EN MAPA
        var of = new google.maps.Polygon({
            paths : poligono,
            strokeColor : "#FF0000",
            strokeOpacity : 0.8,
            strokeWeight : 2,
            fillColor : "#FF0000",
            fillOpacity : 0.35
        });

        of.setMap(map);


        // POLIGONO EDIFICIO - PUNTOS
        var edificio = [ 
                new google.maps.LatLng(-12.105181, -76.971031),
                new google.maps.LatLng(-12.105052, -76.970988),
                new google.maps.LatLng(-12.105013, -76.971087),
                new google.maps.LatLng(-12.105129, -76.971138)      ];

        // POLIGONO EDIFICO - PINTAR EN MAPA
        var ed = new google.maps.Polygon({
            paths : edificio,
            strokeColor : "#FF0000",
            strokeOpacity : 0.8,
            strokeWeight : 2,
            fillColor : "#FF0000",
            fillOpacity : 0.35
        });

        ed.setMap(map);


        // MOVIL



        navigator.geolocation.getCurrentPosition(onSuccess, onError);           

        var latMovil, lonMovil;

        function onSuccess(position){
            latMovil = position.coords.latitude;
            lonMovil = position.coords.longitude;

            //latMovil = -12.105677;
            //lonMovil = -76.970806;

            var LatLonMOV = new google.maps.LatLng(latMovil, lonMovil);

            var icono = "../../img/phones.png";

            var marker = new google.maps.Marker({
                position : LatLonMOV,
                icon : new google.maps.MarkerImage(icono),
                map : map
            });


            if (of.Contains(LatLonMOV)) {
                $("#estado").html("Apto para asistencia");
                $("#btnRegistro").show();
            } else {
                if (ed.Contains(LatLonMOV)){
                    $("#estado").html("Apto para asistencia");
                    $("#btnRegistro").show();
                } else {
                    $("#estado").html("ZONA INVÁLIDA PARA EL REGISTRO");
                    $("#btnRegistro").hide();
                }
            }

        }

        function onError(error) {
            alert('code: '    + error.code    + '\n' +
                  'message: ' + error.message + '\n');
        }



    }
}

AndroidManifest.xml

`

 <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="14" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:configChanges="orientation|screenSize|keyboardHidden"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.version.Main_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

`

アプリは何をしますか?: 会社のシステムに援助を登録するために地域 (あなたがいる場所) を制限します。エリアはいくつかのポリゴンによって設定されます。

ここでは、タブレット (GPS が「動作」) とスマートフォンからの SS http://imageshack.us/g/541/ylce.png/

4

1 に答える 1