<noframes id="797jn">

      <noframes id="797jn">

          <noframes id="797jn"><address id="797jn"></address>
          <address id="797jn"><nobr id="797jn"></nobr></address>
          QQ:在線客服

          24小時客服:15069066861 建站流程

          NEWS建網站知識

          濟南建網站知識,網站建設技術靈魂總結
          Website news, Technical summary of soul

          濟南網站建設中手機網站建設定位并實現地圖標記和附近商家實現方式

          點擊次數:更新時間:2014-01-21 15:01:31【打印】【關閉】

                  隨著移動互聯網時代的到來,很多的濟南網站建設客戶都開始走向手機網站建設方向發展,通過手機網站用戶可以隨時定位自己的位置,并查看到自己附近的商家和其他想要查找的信息。手機網站建設也隨之越來越受到互聯網公司的重視,但是由于手機端網站建設和PC端的網站建設,在技術和實現方式上有所不同,所以,很多濟南網站建設公司的技術人員對這塊還很生疏,最近由于工作的需要,著手去研究一個手機網站,順便在這里和大家分享一下,關于手機網站建設所注意的事項,以及其主要功能的實現方法和思路。

           

                  需要建設的網站的主要功能:

           

                  Ⅰ、用戶可以根據定位自己所在的位置,查看離自己最近的商家所發布的優惠信息。

                  Ⅱ、用戶查看商家詳情頁面的時候,可以直接直觀的通過谷歌地圖的坐標形式,一眼看到該商家所在位置。

                  Ⅲ、用戶可以查看自己所在位置和周圍所有商家的實際距離有多遠。

                  Ⅳ、用戶可以通過分類查找,篩選查找,以及根據不同城市查找自己想要的信息。

           

                  以上是這個網站的主要功能,大家可以看出,該網站最主要的功能就是用戶可以實現手機定位,并很快的找到該商家。大家都知道,PC端的網站是無法現實定位服務的,更不用說距離某個商家有多遠了。直接進入正題,實現這些功能的方法。

          濟南網站建設中手機網站建設定位并實現地圖標記和附近商家實現方式

          一、用戶如何通過網站定位自己的位置

                  首先需要了解的是,網站定位服務需要用到HTML5的寫法,并且這點是一定要注意的,關于HTML5兼容性的問題,可以不用考慮,因為目前手機上的所有瀏覽器都是支持HTML5寫法的,區分HTML5和HTML4的一點很簡單,就是在網站源碼的開頭部分,HTML5是<!DOCTYPE html>,就這么一行話,不像是HTML4一樣那么長。好了,指定完網站代碼的編碼格式之后,就需要使用到HTML5的內置定位函數,也就是navigator函數,具體的代碼,如下:

           

          navigator.geolocation.getCurrentPosition(showPosition,showError);

           

          showPosition:是指的執行該函數的回調函數,也就是說所有的執行條件都在這里面了。

          showError:是指該函數執行錯誤之后,是由于什么原因錯誤的。

           

          showPosition函數的代碼:

          function showPosition(position)
            {
           
                  var lat = position.coords.latitude;    //獲得當前位置的緯度
                  var lng = position.coords.longitude;    //獲得當前位置的經度
                  alert( "您所在的位置: 緯度" + lat + ",經度" + lng );   //輸出當前位置的經緯度信息
                  if(typeof position.address !== "undefined"){
                          var country = position.address.country;
                          var province = position.address.region;
                          var city = position.address.city;
                          alert(' 您位于 ' + country + province + '省' + city +'市');
                  }

            }

           

          showError函數的代碼:

          function showError(error)
            {
            switch(error.code)
              {
              case error.PERMISSION_DENIED:    //瀏覽器不支持Geolocation函數
                x.innerHTML="User denied the request for Geolocation."
                break;
              case error.POSITION_UNAVAILABLE:  //用戶不允許使用定位服務
                x.innerHTML="Location information is unavailable."
                break;
              case error.TIMEOUT:    //定位服務超時
                x.innerHTML="The request to get user location timed out."
                break;
              case error.UNKNOWN_ERROR:   //未知錯誤
                x.innerHTML="An unknown error occurred."
                break;
              }
            }

                  通過以上代碼,用手機瀏覽器運行,就能夠看到當前所在的經緯度信息了,如下圖所示。

           

          手機提示是否允許訪問您所在當前位置返回當前位置經緯度

          二、獲得當前經緯度信息之后后,如何在谷歌地圖上標注出該位置

                  知道準確的經緯度之后,我們只需要調用谷歌地圖的一個API接口就可以,然后通過創建所現在地圖的大小,并通過地圖API的接口,標注當前位置,具體代碼如下:

          <script src="http://maps.google.com/maps/api/js?sensor=false"></script>    //引用谷歌地圖API文件

          function showPosition(position)
            {


            lat=position.coords.latitude;
            lon=position.coords.longitude;
            latlon=new google.maps.LatLng(lat, lon)
            mapholder=document.getElementById('mapholder')
            mapholder.style.height='250px';
            mapholder.style.width='500px';

            var myOptions={
            center:latlon,zoom:14,
            mapTypeId:google.maps.MapTypeId.ROADMAP,
            mapTypeControl:false,
            navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}
            };
            var map=new google.maps.Map(document.getElementById("mapholder"),myOptions);
            var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"});


            }
           

                  加入以上代碼,在取得準確經緯度之后,就能夠很輕松的在谷歌地圖上自動標記商家位置了,如下圖:

           

          在谷歌地圖上對當前位置進行標準

          三、如何計算當前位置和指定商家的距離是多少

                  計算位置要用到的就是PHP代碼了,知道了兩點的經緯度之后,通過一個計算公式很容易就能算出兩點之間的距離來,具體代碼如下:

          <?php
          function rad($d)
          {
          return $d * 3.1415926535898 / 180.0;
          }


          function getdistance($lng1,$lat1,$lng2,$lat2)//根據經緯度計算距離
          {
          //將角度轉為狐度
          $radLat1=deg2rad($lat1);
          $radLat2=deg2rad($lat2);
          $radLng1=deg2rad($lng1);
          $radLng2=deg2rad($lng2);
          $a=$radLat1-$radLat2;//兩緯度之差,緯度<90
          $b=$radLng1-$radLng2;//兩經度之差緯度<180
          $s=2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6378.137;
          return $s;
          }


          echo GetDistance($lat1, $lng1, 36.684555, 117.064682);

          ?>

          四、寫到最后

                  綜合以上代碼,最終完成當前位置定位,已經谷歌地圖顯示和當前位置距離指定商家的距離是多少。然后通過實際的需要,對網站的數據庫和結構進行規劃,最終完成一個可以實現手機定位服務的手機網站。濟南網站建設行業也逐漸從電腦的PC端,逐漸轉換為手機網站的建設,隨著手機客戶端和智能手機的興起,手機網站建設也會有越來越多的公司去做,相對于手機網站和電腦網站來說,都是各有各的好處,我們之后不斷的提升自己的網站建設水平,才能在以后的網站建設市場逐漸站穩腳步,持續而穩定的發展下去。

           

          本文程序演示地址:http://www.mikesblock.com/shouji/test.php

          注:請使用手機瀏覽器打開以上網址,電腦訪問可能會存在兼容性問題。

           

          您可能對以下文章也感興趣:

          濟南網站建設中手機網站建設常見問題和功能實現總結

          如何提高濟南網站建設用戶的生命周期

          濟南網站建設中網站通知系統分析

          濟南網站建設中如何做到交互式網站建設和用戶體驗

           

          濟南網站建設成功案例更多
          底部線條

          7x24小時服務熱線:15069066861   網站建設博客

          陈冠希视频

            <noframes id="797jn">

              <noframes id="797jn">

                  <noframes id="797jn"><address id="797jn"></address>
                  <address id="797jn"><nobr id="797jn"></nobr></address>