我已经实现了我找不到的所有文档和修复。
我希望应用在点按按钮时抓住该位置。
我尝试的每一个修复都有两个结果之一:
1)每次都会出现混乱的许可请求
2)纬度和经度报告为' 0'。
无论我在哪里调用getCurrentPosition(),我都会遇到一个混乱的权限请求(即使首次加载应用程序请求它)。
我能够将权限请求限制为每次会话一次,但它仍然是一个丑陋的混乱,我无法相信不会有一种方法可以避免它。
config.xml - 使用ConfiGAP更新
<preference name="phonegap-version" value="3.3.0" />
<preference name="orientation" value="portrait" />
<preference name="fullscreen" value="false" />
<preference name="target-device" value="universal" />
<preference name="webviewbounce" value="false" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="true" />
<preference name="ios-statusbarstyle" value="black-transparent" />
<preference name="detect-data-types" value="false" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="false" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="EnableViewportScale" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="BackupWebStorage" value="none" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
<preference name="HideKeyboardFormAccessoryBar" value="false" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="internalOnly" />
<preference name="SplashScreenDelay" value="5000" />
<preference name="ErrorUrl" value=""/>
<preference name="BackgroundColor" value="0x000000"/>
<preference name="KeepRunning" value="true"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="LoadingDialog" value=","/>
<preference name="LoadUrlTimeoutValue" value="20000" />
<preference name="disable-cursor" value="false" />
<gap:platform name="ios" />
<gap:platform name="android" />
<gap:platform name="winphone" />
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<gap:plugin name="org.apache.cordova.geolocation" />
<gap:plugin name="org.apache.cordova.splashscreen" />
<gap:plugin name="com.phonegap.plugin.statusbar" />
<gap:config-file platform="ios" parent="UIStatusBarHidden">
<true/>
</gap:config-file>
<gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance">
<false/>
</gap:config-file>
app.js
$("#punches").on('pagebeforeshow', function () {
navigator.geolocation.getCurrentPosition (function (pos) {
var lat = pos.coords.latitude,
lon = pos.coords.longitude;
$("#latitude").val(lat);
$("#longitude").val(lon);
});
});
厌倦了把头撞在墙上,因为我觉得应该比我制作的东西容易得多。
非常感谢任何帮助。
答案 0 :(得分:0)
不应该是
var lat = pos.coords.latitude;
var lon = pos.coords.longitude;
我还要确保我指定了核心地理位置插件的版本,以便您知道它适用于您的PGB版本。
答案 1 :(得分:0)
这非常令人尴尬......但似乎我所缺少的只是:
<script src="phonegap.js"></script>
我把它放在我的index.html
中,双重权限现在已经消失,纬度/经度被正确报告。
我为这个问题道歉。感谢那些帮助过的人。