ホームページ ウェブフロントエンド H5 チュートリアル HTML5では地理的位置情報を取得する機能とpositioning_html5チュートリアルスキルを実装

HTML5では地理的位置情報を取得する機能とpositioning_html5チュートリアルスキルを実装

May 16, 2016 pm 03:46 PM
html5 位置 位置情報を取得する

HTML5 は、ユーザーの位置を特定できる位置情報機能 (Geolocation API) を提供し、HTML5 のこの機能を使用して、位置情報に基づいたアプリケーションを開発できます。この記事では例を使用して、HTML5 を使用し、Baidu および Google マップのインターフェイスを使用してユーザーの正確な地理的位置情報を取得する方法を説明します。

ソース コードのダウンロード: ダウンロードするにはここをクリックしてください

HTML5 位置情報機能の使い方

地理位置情報は HTML5 の新機能であるため、HTML5 をサポートする最新のブラウザ、特に地理位置情報がより正確な iPhone などのハンドヘルド デバイスでのみ実行できます。まず、ユーザーのデバイスのブラウザが地理位置情報をサポートしているかどうかを検出し、サポートしている場合は地理情報を取得する必要があります。この機能はユーザーのプライバシーを侵害する可能性があることに注意してください。ユーザーが同意しない限り、ユーザーの位置情報は利用できません。そのため、アプリケーションにアクセスすると、地理位置情報を許可するかどうかを尋ねられます。 。

コードをコピー
コードは次のとおりです。

function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}else{
alter("ブラウザは地理位置情報をサポートしていません。");
}
}

上記のコードは、ユーザー デバイスが地理位置情報をサポートしているかどうかを知ることができ、getCurrentPosition() メソッドが実行されます。 getCurrentPosition() が正常に実行されると、パラメータ showPosition で指定された関数に座標オブジェクトが返されます。 getCurrentPosition() メソッドの 2 番目のパラメータ showError は、ユーザーの位置の取得に失敗したときに実行される関数を指定します。 。
まず関数 showError() を見てみましょう。この関数は、ユーザーの地理的位置の取得に失敗したときのエラー コードの処理方法を規定しています。

コードをコピー
コードは次のとおりです:

function showError(error){
switch(error.code) {
case error.PERMISSION_DENIED:
アラート("測位に失敗しました。ユーザーは地理位置情報の要求を拒否しました。");
ケース error.POSITION_UNAVAILABLE:
アラート("測位に失敗しました。位置情報が利用できません。"); > case error.TIMEOUT:
alert("測位に失敗しました。ユーザー位置の取得リクエストがタイムアウトしました");
case error.UNKNOWN_ERROR:
alert("測位に失敗しました、測位システムに失敗しました") ");
Break;
}
}


関数 showPosition() をもう一度見てみましょう。座標の緯度と経度を呼び出して、ユーザーの緯度と経度を取得します。




コードをコピーします
コードは次のとおりです。function showPosition(position){
var lat = Position.coords.latitude; //緯度
var lag = Position.coords.longitude; //経度
alert('Latitude:' lat ',Longitude:' lag); >}




Baidu Maps と Google Maps のインターフェースを使用してユーザーの住所を取得します

上記で、HTML5 の地理位置情報がユーザーの緯度と緯度を取得できることを学びました。必要なのは、抽象的な経度と緯度を、読み取り可能で意味のある実際のユーザーの地理的位置情報に変換することです。幸いなことに、Baidu Maps と Google Maps は、この点に関するインターフェースを提供しています。HTML5 で取得した経度および緯度の情報を地図インターフェースに渡すだけで、省や都市の情報、さらには道路などの地理的位置が返されます。家屋番号およびその他の詳細な地理的位置情報。
まず、ページ上の地理的位置を表示する div を定義し、それぞれ id#baidu_geo と id#google_geo を定義します。変更する必要があるのは、キー関数 showPosition() だけです。まず、Baidu 地図インターフェイスの対話を見てみましょう。Ajax を介して緯度と経度の情報を Baidu 地図インターフェイスに送信すると、インターフェイスは対応する省、都市、番地情報を返します。 Baidu マップ インターフェイスは JSON データの文字列を返します。必要に応じて必要な情報を div#baidu_geo に表示できます。ここでは jQuery ライブラリが使用されており、最初に jQuery ライブラリ ファイルをロードする必要があることに注意してください。



コードをコピーします
コードは次のとおりです:

function showPosition(position){
var latlon =position.coords.latitude ','position.coords.longitude;

//baidu
var url = "http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location=" latlon "&output=json&pois=0";
$.ajax({
type: "GET",
dataType: "jsonp",
url: url,
beforeSend: function(){
$("#baidu_geo ").html('正在定位...');
},
success: function (json) {
if(json.status==0){
$("#baidu_geo ").html(json.result.formatted_address);
}
},
エラー: function (XMLHttpRequest, textStatus, errorThrown) {
$("#baidu_geo").html(latlon "地址位置获取失败");
}
});
});

再び谷歌マップ インターフェイスのやり取りを参照します。同様に、Ajax 方式で強度情報を谷歌マップ インターフェイスに送信し、谷歌マップ インターフェイスから対応する市区町村詳細情報を返します。 JSON データ。これらの JSON データは、インターフェースから返されるものよりもさらに詳しく、必要に応じて、div#google_geo に必要な情報を表示できます。

代码如下:
function showPosition(position){ var latlon =position.coords.latitude ','position.coords.longitude;
//google
var url = 'http://maps.google.cn/maps/api/geocode/json?latlng=' latlon '& language=CN';
$.ajax({
type: "GET",
url: url,
beforeSend: function(){
$("#google_geo").html('正在定位. ..');
},
成功: function (json) {
if(json.status=='OK'){
var results = json.results; each(results,function(index,array){
if(index==0){
$("#google_geo").html(array['formatted_address']);
}
});
}
},
エラー: function (XMLHttpRequest, textStatus, errorThrown) {
$("#google_geo").html(latlon "地址位置获取失败"); > }
});
}


以上のコードは、百度マップ インターフェイスと谷歌マップ インターフェイスを関数 showPosition() にそれぞれ統合しており、実際の状況に応じて使用できます。この単純な例に基づいて、携帯電話のデモ デモを提案する多数のアプリケーションが作成される可能性があります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles