1

我正在尝试获取用户在移动 Web 应用程序中的当前位置我的应用程序可以在除三星 galaksy s2 电话设备之外的所有 android 电话设备中运行。它给出错误 POSITION UNAVAILABLE 错误
这是演示 链接。您可以查看源代码这是代码

navigator.geolocation.getCurrentPosition(handle_geolocation_query1, handle_errors) ;
       function handle_errors(error) {
            switch (error.code) {
                    case error.PERMISSION_DENIED: alert("user did not share geolocation data");
                        break;
                    case error.POSITION_UNAVAILABLE: alert("could not detect current position");
                        break;
                    case error.TIMEOUT: alert("retrieving position timed out");
                        break;
                    default: alert("unknown error");
                        break;
                }
            } 
       function handle_geolocation_query1(position) {



               $('#map_canvas').gmap('addMarker', {
                     'id':'m_1',
                    'position': new google.maps.LatLng(position.coords.latitude,position.coords.longitude),
                    'bounds': true,
                    'icon': 'http://google-maps-utility-library-v3.googlecode.com/svn/trunk/geolocationmarker/images/gpsloc.png'
                }).click(function () {
           $('#map_canvas').gmap('openInfoWindow',{ 'content': '<font color="#2a2a2a" size="4">Location </font><br/><font color="#4a4a4a">Your current location</font>' }, this);
                });
                 var map = $('#map_canvas').gmap('get', 'map');
                map.setZoom(14);
                map.setCenter(new google.maps.LatLng(41.01802007732287, 28.971880674362183));
                map.setMapTypeId(google.maps.MapTypeId.ROADMAP);



            }

编辑:当我使用这个apk文件应用程序时,我使用phonegap生成android apk文件,它给出了错误POSITION UNAVAILABLE错误但是当我从网络调用这个页面它工作它没有给出错误......这是网络链接,你可以下载apk从这里

4

3 回答 3

2

您的代码在浏览器中运行良好,但在移动设备中运行不正常。

在检查您的源代码时,您似乎将传感器参数指定为 false

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

您在查看文档时错过了这一点。

指定传感器参数

使用 Google Maps API 需要您指明您的应用程序是否使用传感器(例如 GPS 定位器)来确定用户的位置。这对于移动设备尤其重要。 在包含 Maps API javascript 代码时,应用程序必须将必需的传感器参数传递给标记,以指示您的应用程序是否正在使用传感器设备。

通过传感器确定用户位置的应用程序在加载 Maps API JavaScript 时必须传递 sensor=true。

希望你能理解。

于 2013-08-07T17:22:18.760 回答
0

我在 Messenger webview 中遇到了同样的错误,Messenger 的位置在电话设置中被拒绝,因此在允许 Messenger 应用程序的位置共享后错误得到解决。

于 2020-10-21T12:04:26.713 回答
0

在我的设备上,我将位置模式设置为“仅限设备”。在这种情况下,我无法获得良好的位置连接,因此无法获得位置。我更改了我的设置>位置>模式并将其更改为高精度。我花了很多天才让这个问题在不知不觉中解决问题出在设备本身上。我尽我最大的能力修复代码,甚至追溯到插件的代码。请尊重我的帖子。有些人可能也有这个问题。谢谢你。

于 2020-01-09T01:08:16.363 回答