2022-08-13 分類: 手機網(wǎng)站建設
由于移動互聯(lián)網(wǎng)行業(yè)的興起,很多公司和企業(yè)都開始慢慢想通過手機互聯(lián)網(wǎng)挖掘客戶和宣傳自己的企業(yè)。成都網(wǎng)站建設的一些公司為了更好的服務于客戶資源,也逐漸將主營業(yè)務慢慢轉(zhuǎn)向了手機網(wǎng)站建設方面,近期由于工作的需要也有幸去建設了一個比較簡單的手機網(wǎng)站,在前面的文章《成都網(wǎng)站建設中手機網(wǎng)站建設定位并實現(xiàn)地圖標記和附近商家實現(xiàn)方式》中也詳細的提到過該手機網(wǎng)站的一些簡單功能,這篇文章中,我們詳細介紹在進行手機網(wǎng)站建設的過程中,遇到的一些常見問題和處理方法。
成都網(wǎng)站建設中手機網(wǎng)站建設常見問題和功能實現(xiàn)總結" src="/upload/pic18/201401211432565423.jpg" />
一、手機網(wǎng)站編碼形式和網(wǎng)站分辨率情況,網(wǎng)站meta標簽書寫技巧大家都知道,用手機瀏覽網(wǎng)站不同于用PC瀏覽網(wǎng)站,PC段的網(wǎng)站只需要將網(wǎng)站的寬度設置為一個固定的寬度,然后通過CSS代碼,調(diào)整為局中就可以了,而在手機上瀏覽網(wǎng)站不會存在網(wǎng)站局中的情況,都應該遵循網(wǎng)站在任何手機上都要全屏顯示的情況,這里就需要對網(wǎng)站的代碼單獨設置meta標簽。還有就是對于手機網(wǎng)站來說一定要用的是html5的標簽,因為手機網(wǎng)站上的很多功能都是需要通過html5才能實現(xiàn)的。詳細的手機網(wǎng)站頭部代碼如下圖所示:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>成都網(wǎng)站建設m.rwnh.cn</title>
<meta charset="UTF-8">
<meta name="HandheldFriendly" content="True">
<meta http-equiv="format-detection" content="telephone=no">
<meta name="viewport" content="width=320,user-scalable=no">
<link href="{CSS_PATH}main320.css" type="text/css" rel="stylesheet">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
</head>
移動互聯(lián)網(wǎng)之所以如此火爆不僅僅是因為他可以隨時隨地的可以通過手機瀏覽互聯(lián)網(wǎng)的任何內(nèi)容,更重要的一點是他可以定位用戶手機的所在位置,然后通過用戶所在的位置信息獲取到用戶當前位置周邊的一些商家、優(yōu)惠信息、加油站等等。當然手機網(wǎng)站也可以實現(xiàn)這些功能,首先要做的就是需要通過網(wǎng)站對用戶進行定位。網(wǎng)站定位原理是,通過載入谷歌地圖的API,然后獲取到用戶當前所在位置的經(jīng)緯度,然后通過經(jīng)緯度將數(shù)據(jù)返回用戶具體位置,具體實現(xiàn)代碼如下:
①、引用谷歌地圖API的JS文件,(網(wǎng)絡上有很多,這個是目前發(fā)現(xiàn)可以返回值最全的一個)
<script type="text/javascript" language="javascript" src="http://www.google.com/jsapi?key=_YOUR_GOOGLE_API_KEY_HERE_"></script>
②、通過HTML5的navigator.geolocation.getCurrentPosition方法,獲得當前經(jīng)緯度
<script>
function getLocation(){
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
}
function showPosition(position)
{
var lat = position.coords.latitude; //此處是當前位置的經(jīng)度信息,可通過alert直接輸出,或通過URL方法、AJAX方法傳遞給PHP。
var lng = position.coords.longitude; //此處是當前位置的緯度信息,可通過alert直接輸出,或通過URL方法、AJAX方法傳遞給PHP。
if( google.loader.ClientLocation.address.city) {
var locationCity = google.loader.ClientLocation.address.city; //此處是獲得當前位置所在城市的名字,返回當前位置的英文全拼。
var chengshi = locationCity.toLowerCase(); //此處是獲得當前位置所在城市的名字,返回當前位置的英文全拼。
}
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
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;
}
}
</script>
①、PHP版本:
<?php
function rad($d)
{
return $d * 3.1415926535898 / 180.0;
}
function getdistance($lng1,$lat1,$lng2,$lat2)//根據(jù)經(jīng)緯度計算距離
{
//將角度轉(zhuǎn)為狐度
$radLat1=deg2rad($lat1);
$radLat2=deg2rad($lat2);
$radLng1=deg2rad($lng1);
$radLng2=deg2rad($lng2);
$a=$radLat1-$radLat2;//兩緯度之差,緯度<90
$b=$radLng1-$radLng2;//兩經(jīng)度之差緯度<180
$s=2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6378.137;
return $s;
}
echo round(getdistance($lat1, $lng1, $lat2, $lng2)*1000,2);
?>
②、MYSQL版本:
這個是將mysql查詢出的信息,按照距離進行排序:
SELECT * FROM $zhekou order by 2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*($lat1-lat)/360),2)+COS(PI()*$lat1/180)* COS(lat * PI()/180)*POW(SIN(PI()*($lng1-lng)/360),2))) asc
其中:2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*($lat1-lat)/360),2)+COS(PI()*$lat1/180)* COS(lat * PI()/180)*POW(SIN(PI()*($lng1-lng)/360),2)))
就是兩點見的距離。
三、PHP獲取漢字首字母,并將漢字按照首字母進行分類<?php
function getfirstchar($s0){
$firstchar_ord=ord(strtoupper($s0{0}));
if (($firstchar_ord>=65 and $firstchar_ord<=91)or($firstchar_ord>=48 and $firstchar_ord<=57)) return $s0{0};
//$s=iconv("UTF-8","gb2312", $s0);
$s=$s0;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319 and $asc<=-20284)return "A";
if($asc>=-20283 and $asc<=-19776)return "B";
if($asc>=-19775 and $asc<=-19219)return "C";
if($asc>=-19218 and $asc<=-18711)return "D";
if($asc>=-18710 and $asc<=-18527)return "E";
if($asc>=-18526 and $asc<=-18240)return "F";
if($asc>=-18239 and $asc<=-17923)return "G";
if($asc>=-17922 and $asc<=-17418)return "H";
if($asc>=-17417 and $asc<=-16475)return "J";
if($asc>=-16474 and $asc<=-16213)return "K";
if($asc>=-16212 and $asc<=-15641)return "L";
if($asc>=-15640 and $asc<=-15166)return "M";
if($asc>=-15165 and $asc<=-14923)return "N";
if($asc>=-14922 and $asc<=-14915)return "O";
if($asc>=-14914 and $asc<=-14631)return "P";
if($asc>=-14630 and $asc<=-14150)return "Q";
if($asc>=-14149 and $asc<=-14091)return "R";
if($asc>=-14090 and $asc<=-13319)return "S";
if($asc>=-13318 and $asc<=-12839)return "T";
if($asc>=-12838 and $asc<=-12557)return "W";
if($asc>=-12556 and $asc<=-11848)return "X";
if($asc>=-11847 and $asc<=-11056)return "Y";
if($asc>=-11055 and $asc<=-10247)return "Z";
return null;
}
echo getfirstchar(成都騰飛網(wǎng)絡);
?>
以上是這次在進行手機網(wǎng)站建設的過程中遇到的一些比較特殊的問題,順便記錄一下,以備下次使用。對于沒有過類似開發(fā)經(jīng)驗或者正準備進行手機網(wǎng)站開發(fā)的朋友一個好的參考,盡量的少走一些彎路,直接拿過去使用就可以了。
本文相關代碼下載:Ⅰ、手機網(wǎng)站定位實現(xiàn)代碼
Ⅱ、通過兩點之間的經(jīng)緯度,計算兩點間的距離代碼PHP版本
Ⅲ、通過兩點之間的經(jīng)緯度,計算兩點間的距離代碼MYSQL版本
Ⅳ、通過PHP獲取漢字首字母,并進行排序代碼
網(wǎng)頁名稱:成都網(wǎng)站建設中手機網(wǎng)站建設常見問題和功能實現(xiàn)總結
當前鏈接:http://m.rwnh.cn/news28/189528.html
網(wǎng)站建設、網(wǎng)絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡營銷seo公司;服務項目有網(wǎng)站建設、手機網(wǎng)站建設等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容