2 つの IP Geolocation ソリューションがありますが、コードが両方のソリューションで機能しないようです。
解決策 1:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
$.get("http://ipinfo.io", function (response) {
$("#ip").html("IP: " + response.ip);
$("#address").html("Location: " + response.city + ", " + response.region);
$("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
</script>
</head>
<body>
<h3>Client side IP geolocation using <a href="http://ipinfo.io">ipinfo.io</a></h3>
<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>
</body>
</html>
これは画面に「完全な応答」を示しているため、コードの結果 (場所) はそこにあるはずですが、空白です。
解決策 2:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="gears_init.js"></script>
<script type="text/javascript">
var geo = google.gears.factory.create('beta.geolocation');
function updatePosition(position) {
alert('Current lat/lon is: ' + position.latitude + ',' + position.longitude);
}
function handleError(positionError) {
alert('Attempt to get location failed: ' + positionError.message);
}
geo.getCurrentPosition(updatePosition, handleError);
</script>
</head>
<body>
</body>
</html>
2番目の解決策はここの質問からのものですが、その人はこのコードを機能させていましたが、2つの場所間の距離を計算したかったのですが、基本的な機能が動作していないようです。空白のページが表示され、アラートも何も表示されません.
これらの問題を解決するのを誰が手伝ってくれますか? それらの1つを解決するだけで十分です:)