2016-09-16 5 views
0

ブラウザとiOSプラットフォームでは、場所がうまく動作し、必要なデータが表示されます。 Androidのオン それは、現在のエラーを示しています。 のAndroidManifest.xmlCordova Phonegap - Androidジオロケーションにエラーが表示されます:アプリケーションに十分なジオロケーションのパーミッションエラーがありません

<?xml version='1.0' encoding='utf-8'?> 
<widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <preference name="AllowInlineMediaPlayback" value="false" /> 
    <preference name="BackupWebStorage" value="cloud" /> 
    <!-- Set DisallowOverscroll to true to avoid bounce effect --> 
    <preference name="DisallowOverscroll" value="true" /> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
    <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
    <preference name="SuppressesIncrementalRendering" value="false" /> 
    <preference name="GapBetweenPages" value="0" /> 
    <preference name="PageLength" value="0" /> 
    <preference name="PaginationBreakingMode" value="page" /> 
    <preference name="PaginationMode" value="unpaginated" /> 
    <feature name="LocalStorage"> 
     <param name="ios-package" value="CDVLocalStorage" /> 
    </feature> 
    <feature name="HandleOpenUrl"> 
     <param name="ios-package" value="CDVHandleOpenURL" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="IntentAndNavigationFilter"> 
     <param name="ios-package" value="CDVIntentAndNavigationFilter" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="GestureHandler"> 
     <param name="ios-package" value="CDVGestureHandler" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="PushNotification"> 
     <param name="ios-package" value="PushPlugin" /> 
    </feature> 
    <feature name="Vibration"> 
     <param name="ios-package" value="CDVVibration" /> 
    </feature> 
    <feature name="Device"> 
     <param name="ios-package" value="CDVDevice" /> 
    </feature> 
    <feature name="Accelerometer"> 
     <param name="ios-package" value="CDVAccelerometer" /> 
    </feature> 
    <feature name="Compass"> 
     <param name="ios-package" value="CDVCompass" /> 
    </feature> 
    <feature name="Contacts"> 
     <param name="ios-package" value="CDVContacts" /> 
    </feature> 
    <feature name="Camera"> 
     <param name="ios-package" value="CDVCamera" /> 
    </feature> 
    <preference name="CameraUsesGeolocation" value="false" /> 
    <preference name="AndroidPersistentFileLocation" value="Internal" /> 
    <feature name="File"> 
     <param name="ios-package" value="CDVFile" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="Geolocation"> 
     <param name="ios-package" value="CDVLocation" /> 
    </feature> 
    <feature name="Globalization"> 
     <param name="ios-package" value="CDVGlobalization" /> 
    </feature> 
    <feature name="InAppBrowser"> 
     <param name="ios-package" value="CDVInAppBrowser" /> 
    </feature> 
    <feature name="Capture"> 
     <param name="ios-package" value="CDVCapture" /> 
    </feature> 
    <feature name="NetworkStatus"> 
     <param name="ios-package" value="CDVConnection" /> 
    </feature> 
    <feature name="SplashScreen"> 
     <param name="ios-package" value="CDVSplashScreen" /> 
    </feature> 
    <feature name="StatusBar"> 
     <param name="ios-package" value="CDVStatusBar" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <preference name="StatusBarOverlaysWebView" value="true" /> 
    <preference name="StatusBarStyle" value="default" /> 
    <feature name="Console"> 
     <param name="ios-package" value="CDVLogger" /> 
    </feature> 
    <feature name="FileTransfer"> 
     <param name="ios-package" value="CDVFileTransfer" /> 
    </feature> 
    <feature name="CDVWKWebViewEngine"> 
     <param name="ios-package" value="CDVWKWebViewEngine" /> 
    </feature> 
    <feature name="http://api.phonegap.com/1.0/geolocation"/> 
<plugin name="cordova-plugin-geolocation" source="npm" /> 

    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> 
    <allow-intent href="itms:*" /> 
    <allow-intent href="itms-apps:*" /> 
    <name>HelloCordova</name> 
    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 
    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <allow-navigation href="http://*.websitename.com" /> 
    <allow-navigation href="https://*.youtube.com" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 
</widget> 

アンドロイド/ RES/XML/config.xmlに

<?xml version='1.0' encoding='utf-8'?> 
<widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <preference name="AllowInlineMediaPlayback" value="false" /> 
    <preference name="BackupWebStorage" value="cloud" /> 
    <!-- Set DisallowOverscroll to true to avoid bounce effect --> 
    <preference name="DisallowOverscroll" value="true" /> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
    <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
    <preference name="SuppressesIncrementalRendering" value="false" /> 
    <preference name="GapBetweenPages" value="0" /> 
    <preference name="PageLength" value="0" /> 
    <preference name="PaginationBreakingMode" value="page" /> 
    <preference name="PaginationMode" value="unpaginated" /> 
    <feature name="LocalStorage"> 
     <param name="ios-package" value="CDVLocalStorage" /> 
    </feature> 
    <feature name="HandleOpenUrl"> 
     <param name="ios-package" value="CDVHandleOpenURL" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="IntentAndNavigationFilter"> 
     <param name="ios-package" value="CDVIntentAndNavigationFilter" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="GestureHandler"> 
     <param name="ios-package" value="CDVGestureHandler" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="PushNotification"> 
     <param name="ios-package" value="PushPlugin" /> 
    </feature> 
    <feature name="Vibration"> 
     <param name="ios-package" value="CDVVibration" /> 
    </feature> 
    <feature name="Device"> 
     <param name="ios-package" value="CDVDevice" /> 
    </feature> 
    <feature name="Accelerometer"> 
     <param name="ios-package" value="CDVAccelerometer" /> 
    </feature> 
    <feature name="Compass"> 
     <param name="ios-package" value="CDVCompass" /> 
    </feature> 
    <feature name="Contacts"> 
     <param name="ios-package" value="CDVContacts" /> 
    </feature> 
    <feature name="Camera"> 
     <param name="ios-package" value="CDVCamera" /> 
    </feature> 
    <preference name="CameraUsesGeolocation" value="false" /> 
    <preference name="AndroidPersistentFileLocation" value="Internal" /> 
    <feature name="File"> 
     <param name="ios-package" value="CDVFile" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="Geolocation"> 
     <param name="ios-package" value="CDVLocation" /> 
    </feature> 
    <feature name="Globalization"> 
     <param name="ios-package" value="CDVGlobalization" /> 
    </feature> 
    <feature name="InAppBrowser"> 
     <param name="ios-package" value="CDVInAppBrowser" /> 
    </feature> 
    <feature name="Capture"> 
     <param name="ios-package" value="CDVCapture" /> 
    </feature> 
    <feature name="NetworkStatus"> 
     <param name="ios-package" value="CDVConnection" /> 
    </feature> 
    <feature name="SplashScreen"> 
     <param name="ios-package" value="CDVSplashScreen" /> 
    </feature> 
    <feature name="StatusBar"> 
     <param name="ios-package" value="CDVStatusBar" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <preference name="StatusBarOverlaysWebView" value="true" /> 
    <preference name="StatusBarStyle" value="default" /> 
    <feature name="Console"> 
     <param name="ios-package" value="CDVLogger" /> 
    </feature> 
    <feature name="FileTransfer"> 
     <param name="ios-package" value="CDVFileTransfer" /> 
    </feature> 
    <feature name="CDVWKWebViewEngine"> 
     <param name="ios-package" value="CDVWKWebViewEngine" /> 
    </feature> 
    <feature name="http://api.phonegap.com/1.0/geolocation"/> 
<plugin name="cordova-plugin-geolocation" source="npm" /> 

    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> 
    <allow-intent href="itms:*" /> 
    <allow-intent href="itms-apps:*" /> 
    <name>HelloCordova</name> 
    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 
    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <allow-navigation href="http://*.websitename.com" /> 
    <allow-navigation href="https://*.youtube.com" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 
</widget> 

Application does not have sufficient geolocation permissions error 

リソース/ Config.xmlのを

<?xml version='1.0' encoding='utf-8'?> 
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="io.cordova.hellocordova" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> 



    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <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.ACCESS_MOCK_LOCATION" /> 


    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="app name" android:supportsRtl="true"> 
     <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize"> 
      <intent-filter android:label="@string/launcher_name"> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" /> 
</manifest> 

プラグイン/ .apache.cordova.geolocation/plugin.xmlの位置を取得するための

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
    Licensed to the Apache Software Foundation (ASF) under one 
    or more contributor license agreements. See the NOTICE file 
    distributed with this work for additional information 
    regarding copyright ownership. The ASF licenses this file 
    to you under the Apache License, Version 2.0 (the 
    "License"); you may not use this file except in compliance 
    with the License. You may obtain a copy of the License at 

    http://www.apache.org/licenses/LICENSE-2.0 

    Unless required by applicable law or agreed to in writing, 
    software distributed under the License is distributed on an 
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
    KIND, either express or implied. See the License for the 
    specific language governing permissions and limitations 
    under the License. 
--> 

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" 
xmlns:rim="http://www.blackberry.com/ns/widgets" 
xmlns:android="http://schemas.android.com/apk/res/android" 
      id="org.apache.cordova.geolocation" 
     version="0.3.12"> 

    <name>Geolocation</name> 
    <description>Cordova Geolocation Plugin</description> 
    <license>Apache 2.0</license> 
    <keywords>cordova,geolocation</keywords> 
    <repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git</repo> 
    <issue>https://issues.apache.org/jira/browse/CB/component/12320638</issue> 

    <!-- android --> 
    <platform name="android"> 

     <config-file target="AndroidManifest.xml" parent="/*"> 
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

     </config-file> 

    </platform> 

    <!-- amazon-fireos --> 
    <platform name="amazon-fireos"> 

     <config-file target="AndroidManifest.xml" parent="/*"> 
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
     </config-file> 

    </platform> 

    <!-- ios --> 
    <platform name="ios"> 

     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 

     <config-file target="config.xml" parent="/*"> 
      <feature name="Geolocation"> 
       <param name="ios-package" value="CDVLocation"/> 
      </feature> 
     </config-file> 
     <header-file src="src/ios/CDVLocation.h" /> 
     <source-file src="src/ios/CDVLocation.m" /> 
     <framework src="CoreLocation.framework" /> 

     <config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription"> 
      <string></string> 
     </config-file> 

    </platform> 

    <!-- blackberry10 --> 
    <platform name="blackberry10"> 

     <js-module src="www/blackberry10/GeolocationProxy.js" name="GeolocationProxy"> 
      <runs /> 
     </js-module> 

     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 

     <config-file target="www/config.xml" parent="/widget"> 
      <feature name="Geolocation" value="Geolocation"/> 
     </config-file> 

     <config-file target="www/config.xml" parent="/widget/rim:permissions"> 
      <rim:permit>read_geolocation</rim:permit> 
     </config-file> 

    </platform> 

    <!-- ubuntu --> 
    <platform name="ubuntu"> 
     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 

     <source-file src="src/ubuntu/geolocation.cpp" /> 
     <header-file src="src/ubuntu/geolocation.h" /> 
     <config-file target="config.xml" parent="/*"> 
      <feature name="Geolocation"> 
       <param policy_group="location" policy_version="1" /> 
      </feature> 
     </config-file> 
    </platform> 

    <!-- wp7 --> 
    <platform name="wp7"> 

     <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities"> 
      <Capability Name="ID_CAP_LOCATION" /> 
     </config-file> 

     <source-file src="src/wp/Geolocation.cs" /> 
    </platform> 

    <!-- wp8 --> 
    <platform name="wp8"> 

     <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities"> 
      <Capability Name="ID_CAP_LOCATION" /> 
     </config-file> 

     <source-file src="src/wp/Geolocation.cs" /> 
    </platform> 

    <!-- windows8 --> 
    <platform name="windows8"> 
     <config-file target="package.appxmanifest" parent="/Package/Capabilities"> 
      <DeviceCapability Name="location" /> 
     </config-file> 

     <js-module src="src/windows/GeolocationProxy.js" name="GeolocationProxy"> 
      <runs /> 
     </js-module> 

     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 
    </platform> 

    <!-- windows universal apps (Windows 8.1, Windows Phone 8.1, Windows 8.0) --> 
    <platform name="windows"> 
     <config-file target="package.appxmanifest" parent="/Package/Capabilities"> 
      <DeviceCapability Name="location" /> 
     </config-file> 

     <js-module src="src/windows/GeolocationProxy.js" name="GeolocationProxy"> 
      <runs /> 
     </js-module> 

     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 
    </platform> 

    <!-- firefoxos --> 
    <platform name="firefoxos"> 
     <config-file target="config.xml" parent="/*"> 
      <permission name="geolocation" description="Required for accessing user location." /> 
     </config-file> 

     <js-module src="src/firefoxos/GeolocationProxy.js" name="GeolocationProxy"> 
      <runs /> 
     </js-module> 

     <js-module src="www/Coordinates.js" name="Coordinates"> 
      <clobbers target="Coordinates" /> 
     </js-module> 

     <js-module src="www/PositionError.js" name="PositionError"> 
      <clobbers target="PositionError" /> 
     </js-module> 

     <js-module src="www/Position.js" name="Position"> 
      <clobbers target="Position" /> 
     </js-module> 

     <js-module src="www/geolocation.js" name="geolocation"> 
      <clobbers target="navigator.geolocation" /> 
     </js-module> 
    </platform> 
</plugin> 

Javascriptを:

<script> 



          window.onload = function() 
          { 
           document.addEventListener("deviceready",init,false); 
           document.addEventListener("deviceready", onDeviceReady, false); 


          } 

         function onDeviceReady(){ 

         } 
         function init() 
         { 
          navigator.geolocation.getCurrentPosition(positionSuccess,positionError); 

         } 

         function positionSuccess(position) 
         { 
          var latitude = position.coords.latitude; 
          var longitude = position.coords.longitude; 

          document.getElementById('lat').value = latitude; 
         document.getElementById('lon').value = longitude; 

         } 


         function positionError(error) 
         { 
          alert(error.message); 
         } 









         </script> 

を任意のアドバイスや助けをいただければ幸いです。誰かが答えを必要とする場合場合

答えて

1

、私はここでそれを見つけた:https://github.com/driftyco/ng-cordova/issues/743

私はプラグインを更新し、エラーが消えた:

cordova plugin rm org.apache.cordova.geolocation 
cordova plugin add cordova-plugin-geolocation 
+0

はい! Visual Studioのconfig.xml - >現在のプラグインを削除し、次にプラグインのcodeova-plugin-geolocationを更新します。 – pollaris

関連する問題