Muundo wa Kifungu cha HTML5

HTML5 Geolocation (uwanafikiaji wa eneo kwenye hali) inafikia eneo kwenye hali wa mwanasave.

Tafuta matokeo: Onyesha eneo lakini kwenye Google Maps

Kufikia eneo kwenye hali wa mwanasave

API ya HTML5 Geolocation inafikia eneo kwenye hali ya mwanasave.

Kwa sababu kinaingia katika ukosemu wa mawasiliano ya mwanasave, ukweli wa uwanafikiaji wa eneo kwenye hali haikufikii kama mwanasave haathiriki.

Muungano wa kawaida wa vifaa vya kusoma

Internet Explorer 9, Firefox, Chrome, Safari na Opera zinaongoza kwa uwanafikiaji wa eneo kwenye hali.

Maelezo:Kwa vifaa vinavyoenea GPS kama iPhone, uwanafikiaji wa eneo kwenye hali ni kwa uharibifu zaidi.

HTML5 - Kusaidia uwanafikiaji wa eneo kwenye hali

Tumia methodi ya getCurrentPosition() ili kufikia eneo kwenye hali wa mwanasave.

Mfano huo ni maelezo wa matokeo wa uwanafikiaji wa eneo, unaweza kumwambia kuzalika na ukilimo wa kusini wa uwanafikiaji.

Mifano

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br /> Longitude: " + position.coords.longitude;
  }
</script>

Jifunze tena

Mafano ya maelezo:

  • Tukia kusoma kufikia eneo kwenye hali
  • Kama inahusishwa, inafanya kazi methodi ya getCurrentPosition(). Kama haikuhusishwa, inakubaliana na maelezo kwa kumtaarifu mtumiaji.
  • Kama getCurrentPosition() inafanya kazi kwa kushika, inakubaliana na funguo iliyotakiwa kwa thamani ya showPosition() kwa kumuandika kwa kifaa cha coordinates
  • Funguo ya showPosition() inafikia na inashonza ukilimo wa kuzalika na ukilimo wa kusini

Mfano huo unaonekana kama msingi wa kwanza wa script ya uwanafikiaji wa eneo, bila usimamishaji wa kosa.

Usimamishaji wa kosa na uharibifu

Mpangilio wa pili wa methodi ya getCurrentPosition() unaoweza kusaidia kusoma kosa. Inasababisha kwamba kama kufikia uwanafikiaji wa kiume wa kawaida haukufikii, inasababisha kwamba inafanya kazi mengine.

Mifano

function showError(error)
  {
  switch(error.code)
    {
    case error.PERMISSION_DENIED:
      x.innerHTML="Mwanasave alionekana kufarikiwa chaguo cha Geolocation.
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML="Maadaa ya uwanafikiaji haikufikii taarifa ya eneo kwenye hali.
      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;
    }
  }

Jifunze tena

错误代码:

  • Permission denied - 用户不允许地理定位
  • Position unavailable - 无法获取当前位置
  • Timeout - 操作超时

在地图中显示结果

如需在地图中显示结果,您需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图:

Mifano

function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="";
}

Jifunze tena

在上例中,我们使用返回的经纬度数据在谷歌地图中显示位置(使用静态图像)。

谷歌地图脚本

上面的链接向您演示如何使用脚本来显示带有标记、缩放和拖曳选项的交互式地图。

给定位置的信息

本页演示的是如何在地图上显示用户的位置。不过,地理定位对于给定位置的信息同样很有用处。

案例:

  • 更新本地信息
  • 显示用户周围的兴趣点
  • 交互式车载导航系统 (GPS)

getCurrentPosition() 方法 - 返回数据

若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。

Mafanikio Kuelewa
coords.latitude Kipimo cha kina cha juu cha eneo
coords.longitude Kipimo cha kina cha juu cha juu cha eneo
coords.accuracy Kina ngumu cha eneo
coords.altitude Kima cha cha kipya cha kipya kwa mita kwenye juu ya usimbu wa bali
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed Vidadi, kwa mita kwa sekunde
timestamp Tarehe na wa kuzingatia

Kifaa cha Geolocation - Mafanikio mengine

watchPosition() - Kirejeza viwango vya kiwango cha mwenyeji, na kirejeza viwango vya kiwango vya mwenyeji vimeongezeka (kama kifaa cha GPS kwenye maburi).

clearWatch() - Kupunguza hatua ya watchPosition()

Mifano ya hizi inaonyesha hatua ya watchPosition(). Kwa kuteja mifano hii, inahitajika kifaa cha GPS kinachoweza kumtuambia kina (kama iPhone):

Mifano

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br /> Longitude: " + position.coords.longitude;
  }
</script>

Jifunze tena