コメント:この記事では、主にHTML5コードの使用を紹介して地理的位置を取得します。特定の実装コードは次のとおりで、スクリーンショットが添付されています。それを必要とする友達はそれを参照できます。
/**
*以下は、地理的な場所を取得するためのHTML5コードです
*/
関数getLocation(){
//ブラウザが地理的な場所の取得をサポートしているかどうかを確認します
if(navigator.geolocation){
// Geographic Locationの取得をサポートする場合、showposition()を正常に呼び出し、失敗した場合はShowerrorに電話します。
// alert( "場所を取得するよう努力...");
var config = {enablehighAccuracy:true、timeout:5000、maximage:30000};
navigator.geolocation.getCurrentPosition(showposposition、showerror、config);
} それ以外 {
// alert( "Geolocationはこのブラウザによってサポートされていません。");
alert( "場所が失敗し、ユーザーがロケーションアクセスを無効にしている");
}
}
/**
*アドレスの場所を正常に取得します
*/
関数ショーポジション(位置){
//緯度と経度を取得します
var x = position.coords.latitude;
var y = position.coords.longitude;
// Baidu Geocoding APIを構成します
var url = "http://api.map.baidu.com/geocoder/v2/?ak = c93b5178d7a8ebdb830b9b557abce78b" +
「&callback = renderReverse」 +
"&location =" + x + "、" + y +
「&output = json」 +
"&pois = 0";
$ .ajax({
タイプ:「get」、
データタイプ:「jsonp」、
URL:URL、
成功:function(json){
if(json == null || typeof(json)== "undefined"){
戻る;
}
if(json.status!= "0"){
戻る;
}
setAddress(json.result.addressComponent);
}、
エラー:function(xmlhttprequest、textStatus、errorthrown){
alert( "[x:" + x + "、y:" + y + "]アドレスの場所が取得できなかったので、アドレスを手動で選択してください");
}
});
}
/**
*アドレスの場所を取得できなかった[まだ処理されていない]
*/
function showerror(エラー){
switch(error.code){
ケースERROR.PERISTION_DENIED:
alert( "場所が失敗し、ユーザーはジオロケーションを要求することを拒否します");
//x.innerhtml = "ユーザーはジオロケーションのリクエストを拒否しました。[ユーザー拒否リクエストジオロケーション]」
壊す;
ケースエラー.position_unavailable:
alert( "場所に失敗し、場所情報が利用できない");
//x.innerhtml = "位置情報は利用できません。[位置情報は利用できません]" "
壊す;
ケースERROR.TIMEOUT:
alert( "場所が失敗し、ユーザーの場所のタイミングを取得するようにリクエスト");
//x.innerhtml = "ユーザーの場所をタイミングで取得するリクエスト。[ユーザーの場所をタイムアウトするリクエスト]"
壊す;
ケースエラー.unknown_error:
Alert( "場所が失敗し、配置システムが失敗した");
//x.innerhtml = "未知のエラーが発生しました。[不明なエラー]" "
壊す;
}
}
/**
*アドレスを設定します
*/
関数setAddress(json){
var position = document.getElementById( "txtposition");
//州
var省= json.province;
//市
var city = json.city;
//地区
var地区= json.district;
州= province.replace( 'city'、 '');
position.value = unet + "、" + city + "、" +地区;
position.style.color = 'black';
}