html5獲取位置信息,h5獲取位置信息


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>地理位置測試</title>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
    <script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    <script type="text/javascript">
        //var map;
        //var gpsPoint;
        //var baiduPoint;
        //var gpsAddress;
        //var baiduAddress;

        //function getLocation() {
        //    //根據IP獲取城市
        //    var myCity = new BMap.LocalCity();
        //    myCity.get(getCityByIP);

        //    //獲取GPS坐標
        //    if (navigator.geolocation) {
        //        navigator.geolocation.getCurrentPosition(showMap, handleError, { enableHighAccuracy: true, maximumAge: 1000 });
        //    } else {
        //        alert("您的瀏覽器不支持使用HTML 5來獲取地理位置服務");
        //    }
        //}

        //function showMap(value) {
        //    var longitude = value.coords.longitude;
        //    var latitude = value.coords.latitude;
        //    //alert(longitude+" , "+ latitude);
        //    map = new BMap.Map("map");
        //    //alert("坐標經度為:" + latitude + ", 緯度為:" + longitude );
        //    gpsPoint = new BMap.Point(longitude, latitude);    // 創建點坐標
        //    map.centerAndZoom(gpsPoint, 15);

        //    //根據坐標逆解析地址
        //    //var geoc = new BMap.Geocoder();
        //    //geoc.getLocation(gpsPoint, getCityByCoordinate);

        //    BMap.Convertor.translate(gpsPoint, 0, translateCallback);
        //}

        //translateCallback = function (point) {
        //    $("#txtLocation").val(point.lng + "," + point.lat);
        //    //baiduPoint = point;
        //    //var geoc = new BMap.Geocoder();
        //    //geoc.getLocation(baiduPoint, getCityByBaiduCoordinate);
        //}


        //function getCityByBaiduCoordinate(rs) {
        //    baiduAddress = rs.addressComponents;
        //    var address = "百度標注:" + baiduAddress.province + "," + baiduAddress.city + "," + baiduAddress.district + "," + baiduAddress.street + "," + baiduAddress.streetNumber;
        //    var marker = new BMap.Marker(baiduPoint);  // 創建標注
        //    map.addOverlay(marker);              // 將標注添加到地圖中
        //    var labelbaidu = new BMap.Label(address, { offset: new BMap.Size(20, -10) });
        //    marker.setLabel(labelbaidu); //添加百度標注
        //}

        ////根據IP獲取城市
        //function getCityByIP(rs) {
        //    var cityName = rs.name;
        //    alert("根據IP定位您所在的城市為:" + cityName);
        //}

        //function handleError(value) {
        //    switch (value.code) {
        //        case 1:
        //            alert("位置服務被拒絕");
        //            break;
        //        case 2:
        //            alert("暫時獲取不到位置信息");
        //            break;
        //        case 3:
        //            alert("獲取信息超時");
        //            break;
        //        case 4:
        //            alert("未知錯誤");
        //            break;
        //    }
        //}

        //function init() {
        //    getLocation();
        //}

        //window.onload = init;

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

        //獲取地理位置方法
        function startgps() {
            //判斷是否支持
            if (navigator.geolocation) {
                //navigator.geolocation.watchPosition(showgps,
                navigator.geolocation.getCurrentPosition(showgps,//成功回調函數
                                                         getPositionError, //失敗回調函數
                                                        { enableHighAcuracy: true, timeout: 1000, maximumAge: 0 }); // 這里設置超時為1000毫秒,即1秒
            }
            else {
                alert("navigator.geolocation獲取結果為false");
            }
        }
        function showgps(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            BMap.Convertor.translate(position.coords, 0, function (point) {
                alert(point.lng + "," + point.lat);
            });

            alert("地理位置為latitude:" + latitude + "---longitude=" + longitude);
        }

        function getPositionError(error) {
            alert("獲取位置失敗");
            //switch (error.code) {
            //    case error.TIMEOUT:
            //        alert("連接超時,請重試");
            //        break;
            //    case error.PERMISSION_DENIED:
            //        alert("您拒絕了使用位置共享服務,查詢已取消");
            //        break;
            //    case error.POSITION_UNAVAILABLE:
            //        alert("親愛的火星網友,非常抱歉,我們暫時無法為您所在的星球提供位置服務");
            //        break;
            //}
        }
    </script>
</head>
<body>
    <input type="text" readonly="readonly" id="txtLocation" />
    <div id="map" style="width:600px;height:600px;"></div>
</body>
</html>  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM