Geolocation HTML5

HTML5 Geolocation (tsa hoto kuma yau da kai) na samun bayanar na bayanar na bayanar.

Gudanar da samun bayanar na bayanar na bayanar: A gudanar da bayanar na bayanar a Google Maps.

Gudanar da samun bayanar na bayanar na bayanar.

HTML5 Geolocation API na samun bayanar na bayanar na bayanar.

Domin abin da ake gudanar da tsa hoto kuma yau da kai zai yi lafiya da hukuncin tsawon hoto, zai samu bayanar na bayanar kuma yau da kai.

Gudanar da tsa hoto kuma yau da kai.

Internet Explorer 9, Firefox, Chrome, Safari da Opera suka gudanar da tsa hoto kuma yau da kai.

Kira:Domin abin da ke samun GPS, kamar iPhone, tsa hoto na yau da kai yana samun ra'ayi na yau da kai.

HTML5 - Gudanar da tsa hoto kuma yau da kai.

Koyar da getCurrentPosition() domin a samu bayanar na bayanar.

Abin da ake gudanar da hoto na yau da kai a yau na yau da kai, yana samun gaba da kuma kudu na bayanar.

实例

<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>

亲自试一试

Tarihin abin da ake gudanar da hoto na yau da kai.

  • Gudanar da samun ra'ayi domin baiyawa kuma yau da kai.
  • Idan ake samun, ta gudanar da getCurrentPosition() na samun ra'ayi. Idan ba ake samun, ta gudanar da wani ra'ayi na ba a samu.
  • Idan getCurrentPosition() ta gudanar da samun ra'ayi, ta koma baiyawa na showPosition() domin a gudanar da samun ra'ayi na coordinates.
  • Baiyawa na showPosition() ta samu da kuma gudanar da hoto na gaba da kuma kudu.

Tarihin abin da ake gudanar da hoto na yau da kai a yau ba a gudanar da ra'ayi da kuma kada cewa a samu.

Gudanar da ra'ayi da kuma kada cewa a samu.

Baiyawa na getCurrentPosition() na biyu na gudanar da samun ra'ayi na tsawon hoto. Wannan na gudanar da samun wani lokaci domin a gudanar da samun ra'ayi na tsawon hoto.

实例

function showError(error)
  {
  switch(error.code)
    {
    case error.PERMISSION_DENIED:
      x.innerHTML="Mata a bai cikin shawara don tsa hoto kuma yau da kai."
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML="Baiyawa na tsa hoto kuma yau da kai."
      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;
    }
  }

亲自试一试

错误代码:

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

在地图中显示结果

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

实例

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="<img src='"+img_url+"' />";
}

亲自试一试

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

谷歌地图脚本

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

给定位置的信息

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

案例:

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

getCurrentPosition() 方法 - 返回数据

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

属性 描述
coords.latitude 十进制数的纬度
coords.longitude 十进制数的经度
coords.accuracy 位置精度
coords.altitude 海拔,海平面以上以米计
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed 速度,以米/每秒计
timestamp 响应的日期/时间

Geolocation 对象 - 其他有趣的方法

watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。

clearWatch() - 停止 watchPosition() 方法

下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone):

实例

<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>

亲自试一试