今年のプロジェクト開発中に、私は最初にモバイルWeb開発と接触し、開発中にHTML5を学びました。私は主にjQueryモバイルテクノロジーを使用しました。これはインターネット製品には適していないことがわかりました。ほとんどのスタイルを書き直す必要があり、一部の関数のみが使用されます。携帯電話のWebの開発中、私は初めてポジショニング機能にさらされました。主要な検索エンジンを通じて、携帯電話の位置決めはブラウザの配置を通じてであることがわかりました。 PCブラウザで使用すると、「ポジショニング機能を有効にするかどうか」というプロンプトが初めてポップアップします。ボスがこのプロンプトを見たとき、彼はユーザーのエクスペリエンスが良くないと感じました。それが良くなかった場合、私はそれを別の方法で実装するだけです。これは大したことではありません。ボスの顔は劇的に変化し、彼は言った:そのような経験はないはずだ。これを行い、できるだけ早く新しい機能を急いでリリースします。
1。携帯電話のウェブポジショニング方法:
コードコピーは次のとおりです。
var getLocation = function(successfunc、errorfunc){// successfuncはポジショニングを成功させるためにコールバック関数を取得します。
//最初にデフォルトの都市を設定します
var defcity = {
ID: '000001'、
名前:「北京」、
日付:curdateTime()//現在の時間方法を取得します
};
//デフォルトの都市
$ .cookie( 'vpiao_mobile_defaultcity'、json.stringify(defcity)、{expires:1、path: '/'});
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = new bmap.map( "container"); //マップインスタンスを作成します
var point = new bmap.point(lon、lat); //ポイント座標を作成します
var gc = new bmap.geocoder();
gc.getlocation(point、function(rs){
var addcomp = rs.AddressComponents;
var curcity = {
ID: ''、
名前:AddComp.Province、
日付:curdateTime()
};
//現在都市に位置しています
$ .cookie( 'vpiao_mobile_currentcity'、json.stringify(curcity)、{expires:7、path: '/'});
//alert(addcomp.province + "、" + addcomp.city + "、" + addcomp.district + "、" + addcomp.street);
if(successfunc!=未定義)
successfunc(addcomp);
});
}、
関数(エラー){
switch(error.code){
ケース1:
alert( "ロケーションサービスが拒否されました。");
壊す;
ケース2:
alert( "当面は位置情報を取得できません。");
壊す;
ケース3:
alert( "位置情報タイムアウトを取得します。");
壊す;
デフォルト:
アラート( "不明エラー。");
壊す;
}
var curcity = {
ID: '000001'、
名前:「北京」、
日付:curdateTime()
};
//デフォルトの都市
$ .cookie( 'vpiao_mobile_defaultcity'、json.stringify(curcity)、{expires:1、path: '/'});
if(errorfunc!=未定義)
errorfunc(error);
}、{Timeout:5000、enableHighAccuracy:true});
} それ以外 {
alert( "ブラウザはジオロケーション情報の取得をサポートしていません。");
if(errorfunc!=未定義)
errorfunc( "ブラウザはジオロケーション情報の取得をサポートしていません。");
}
};
var showposition = function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = new bmap.map( "container"); //マップインスタンスを作成します
var point = new bmap.point(lon、lat); //ポイント座標を作成します
var gc = new bmap.geocoder();
gc.getlocation(point、function(rs){
var addcomp = rs.AddressComponents;
var curcity = {
ID: ''、
名前:AddComp.Province、
日付:curdateTime()
};
//現在都市に位置しています
$ .cookie( 'vpiao_mobile_currentcity'、json.stringify(curcity)、{expires:7、path: '/'});
//alert(addcomp.province + "、" + addcomp.city + "、" + addcomp.district + "、" + addcomp.street);
});
};
var showpositionerror = function(error){
switch(error.code){
ケース1:
alert( "ロケーションサービスが拒否されました。");
壊す;
ケース2:
alert( "当面は位置情報を取得できません。");
壊す;
ケース3:
alert( "位置情報タイムアウトを取得します。");
壊す;
デフォルト:
アラート( "不明エラー。");
壊す;
}
var curcity = {
ID: '000001'、
名前:「北京」、
日付:curdateTime()
};
//デフォルトの都市
$ .cookie( 'vpiao_mobile_defaultcity'、json.stringify(curcity)、{expires:1、path: '/'});
};
前提条件は、Baidu APIを紹介することです:<スクリプトsrc = "http://api.map.baidu.com/api?v=1.4" type = "text/javascript"> </script>
2。PCサイドはIPメソッドを実装しています:
Tencentが提供するインターフェイスを使用すると、これは利用できなくなりました
コードコピーは次のとおりです。
<script type = "text/javascript" src = "http://fw.qq.com/ipaddress"> </script>
<script type = "text/javascript">
document.write(ipdata [0]); // IPアドレスを表示します
document.write(ipdata [2]); //保存を表示します
document.write(ipdata [3]); //街を見せます
</script>
Sinaインターフェイスの採用:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
マルチリージョンテスト方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
コードコピーは次のとおりです。
<script type = "text/javascript">
$ .getScript( 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js'、function(_result){
if(remote_ip_info.ret == '1'){
alert( 'country:' + remote_info.country + '<br>州:' + remote_ip_info.province + '<br> city:' + remote_ip_info.city + '<br> local:' + remote_ip_info.district + '<br> isp remote_ip_info.type + '<br>その他:' + remote_ip_info.desc);
} それ以外 {
アラート( '一致するIPアドレス情報が見つかりませんでした!');
}
});
</script>
netease youdao IPアドレスインターフェイス(これはテストされます)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ipアドレス
taobao要求インターフェイス(get)
コードコピーは次のとおりです。
<スクリプト>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getjson(url、function(json){
var myprovince2 = json.data.area;
var mycity2 = json.data.region;
アラート( "あなたの都市は:" + myprovince2 + mycity2);
});
</script>
Pacific IPアドレスライブラリAPIインターフェイス
http://whois.pconline.com.cn/?ip = ipアドレス文字列]
さらに:Google、Sohu、その他のインターフェイスは、対応するインターフェイスを提供します。自分で試すことができます。
SOHU IPアドレスクエリインターフェイス(デフォルトGBK):http://pv.sohu.com/cityjson
SOHU IPアドレスクエリインターフェイス(エンコードを設定できます):http://pv.sohu.com/cityjson?ie=utf-8
Sohuのその他のIPアドレスクエリインターフェイス:http://txt.go.sohu.com/ip/soip
3.クライアントIPメソッドを取得します
コードコピーは次のとおりです。
<スクリプト>
var url = 'http://chaxun.1616.net/s.php?type=ip&output = json&callback=?&_=' + math.random();
$ .getjson(url、function(data){
アラート(data.ip);
});
</script>
今日はそれがすべてです。まだ完了する作業がたくさんあります。時間があるときに他のインターフェイスを試すことができます。誰もが来て、より良い方法を提供することができます。