网站建设套餐 网站建设作品 网站模板

济南网站建设中手机网站建设常见问题和功能实现总结

2014年01月21日 15:01:43

        由于移动互联网行业的兴起,很多公司和企业都开始慢慢想通过手机互联网挖掘客户和宣传自己的企业。济南网站建设的一些公司为了更好的服务于客户资源,也逐渐将主营业务慢慢转向了手机网站建设方面,近期由于工作的需要也有幸去建设了一个比较简单的手机网站,在前面的文章《济南网站建设中手机网站建设定位并实现地图标记和附近商家实现方式》中也详细的提到过该手机网站的一些简单功能,这篇文章中,我们详细介绍在进行手机网站建设的过程中,遇到的一些常见问题和处理方法。

 

济南网站建设中手机网站建设常见问题和功能实现总结

一、手机网站编码形式和网站分辨率情况,网站meta标签书写技巧

        大家都知道,用手机浏览网站不同于用PC浏览网站,PC段的网站只需要将网站的宽度设置为一个固定的宽度,然后通过CSS代码,调整为局中就可以了,而在手机上浏览网站不会存在网站局中的情况,都应该遵循网站在任何手机上都要全屏显示的情况,这里就需要对网站的代码单独设置meta标签。还有就是对于手机网站来说一定要用的是html5的标签,因为手机网站上的很多功能都是需要通过html5才能实现的。详细的手机网站头部代码如下图所示:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>济南网站建设m.0531soso.com</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>

 

手机网站meta标签全分辨率自适应

二、实现手机网站定位所需要的条件和代码

        移动互联网之所以如此火爆不仅仅是因为他可以随时随地的可以通过手机浏览互联网的任何内容,更重要的一点是他可以定位用户手机的所在位置,然后通过用户所在的位置信息获取到用户当前位置周边的一些商家、优惠信息、加油站等等。当然手机网站也可以实现这些功能,首先要做的就是需要通过网站对用户进行定位。网站定位原理是,通过载入谷歌地图的API,然后获取到用户当前所在位置的经纬度,然后通过经纬度将数据返回用户具体位置,具体实现代码如下:

        ①、引用谷歌地图API的JS文件,(网络上有很多,这个是目前发现可以返回值最全的一个)

<script type="text/javascript" language="javascript" src="http://www.google.com/jsapi?key=_YOUR_GOOGLE_API_KEY_HERE_"></script>

        ②、通过HTML5的navigator.geolocation.getCurrentPosition方法,获得当前经纬度

<script>
function getLocation(){
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition,showError);
    }
  }
function showPosition(position)
  {
        var lat = position.coords.latitude;    //此处是当前位置的经度信息,可通过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)//根据经纬度计算距离
{
//将角度转为狐度
$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 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(济南腾飞网络);
?>

 

根据汉字首字母进行排序

写到最后:

        以上是这次在进行手机网站建设的过程中遇到的一些比较特殊的问题,顺便记录一下,以备下次使用。对于没有过类似开发经验或者正准备进行手机网站开发的朋友一个好的参考,尽量的少走一些弯路,直接拿过去使用就可以了。

本文相关代码下载:

Ⅰ、手机网站定位实现代码

Ⅱ、通过两点之间的经纬度,计算两点间的距离代码PHP版本

Ⅲ、通过两点之间的经纬度,计算两点间的距离代码MYSQL版本

Ⅳ、通过PHP获取汉字首字母,并进行排序代码

 

您可能对以下文章也感兴趣:

济南网站建设中手机网站建设定位并实现地图标记和附近商家实现方式

济南网站建设不同功能模块报价详细说明

深入分析济南网站建设客户需求

如何提高济南网站建设用户的生命周期

 

服务宗旨:客户至上、服务保证、信用保证、售后保证、价格保证。

在济南找济南网站建设公司就选择我们,我们用服务保证你选择的没有错误。

公司地址:山东省济南市东关大街中泰大厦

Copyright©2020-2030  www.0531soso.com

济南网站设计我们值得信赖.