程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> html5-HTML5:用戶如選擇拒絕共享地理位置,那麼下次再次登錄進入時就不會再詢問

html5-HTML5:用戶如選擇拒絕共享地理位置,那麼下次再次登錄進入時就不會再詢問

編輯:編程綜合問答
HTML5:用戶如選擇拒絕共享地理位置,那麼下次再次登錄進入時就不會再詢問

使用html5做了個應用,同時適應APP,微信和wap訪問,其中有用到獲取地理位置的相關內容,地理位置獲取沒有什麼問題,現在問題是當獲取地理位置詢問用戶時如果選擇拒絕共享地理位置,那麼下次再次登錄進入時就不會再詢問,導致如果拒絕了一次以後再也獲取不到地理位置,不知道有什麼方法可以解決?
獲取地理位置代碼如下:

 //初始化時調用獲取地理位置方法
$(function(){
startgps();
});

//獲取地理位置方法
function startgps()
      {
//判斷是否支持
        if (navigator.geolocation)
        { 
            navigator.geolocation.watchPosition(showgps,
           // navigator.geolocation.getCurrentPosition(showgps,//成功回調函數
                                 function(error) //失敗回調函數
                                 {
                                 alert("獲取位置失敗,開始執行失敗回調函數");
                                 getPositionError(error);
                                  //showgps();
                                      //  showAlert("獲取地理位置出錯");
                                 },
                                 {enableHighAcuracy: true, timeout:1000,maximumAge: 0}); // 這裡設置超時為1000毫秒,即1秒
                }
                else
                {
                    showAlert("navigator.geolocation獲取結果為false");
                    //showgps();
                }
            }

      function showgps(position)
      {
        alert("獲取位置成功,開始執行成功回調函數");
                if (position)
                {
                    var latitude = position.coords.latitude;
                    var longitude = position.coords.longitude;
document.getElementsByName("lat")[0].value = latitude;
document.getElementsByName("lng")[0].value = longitude;
showAlert("獲取到的地理位置為latitude:"+latitude+"---longitude="+longitude);
                }
                else{
                    showAlert("位置獲取不到,請確認您打開了定位服務!");
                    var latitude = position.coords.latitude;
                    var longitude = position.coords.longitude;
document.getElementsByName("lat")[0].value = latitude;
document.getElementsByName("lng")[0].value = longitude;
showAlert("定位服務沒有打開時獲取到的地理位置latitude:"+latitude+"---longitude="+longitude);
                  }
      }

      function getPositionError(error){    
     switch(error.code){    

        case error.TIMEOUT:    

            alert("連接超時,請重試");    

            break;    

        case error.PERMISSION_DENIED:    

            alert("您拒絕了使用位置共享服務,查詢已取消");    

            break;    

        case error.POSITION_UNAVAILABLE:    

            alert("親愛的火星網友,非常抱歉,我們暫時無法為您所在的星球提供位置服務");    

            break;    

    }    
  }

最佳回答:


可以考慮把用戶不同意的參數重新初始化

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved