私はgoogle.loader.ClientLocationを使用していくつかのテストを行いました:
しかし、テストではnullになります。
if (google.loader.ClientLocation)
これは、GoogleがIPの情報を見つけられない場合の動作です。
StackOverflowを検索しましたが、StackOverflowに関する質問はたくさんありますが、良い答えはありません。
私はネットを検索して、次の2つのリンクを見ました。
これは、ナビゲーターHTMLの地理的位置を使用する必要があることを示しているようです。
Google APIのドキュメントではこれについては触れられていません。
Google google.loader.clientlocationがまだ機能しているかどうかの確認が必要ですか?
私のコードは次のとおりです:
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
</head>
<body>
<script type="text/javascript">
function geoTest() {
if (google.loader.ClientLocation) {
var latitude = google.loader.ClientLocation.latitude;
var longitude = google.loader.ClientLocation.longitude;
var city = google.loader.ClientLocation.address.city;
var country = google.loader.ClientLocation.address.country;
var country_code = google.loader.ClientLocation.address.country_code;
var region = google.loader.ClientLocation.address.region;
var text = 'Your Location<br /><br />Latitude: ' + latitude + '<br />Longitude: ' + longitude + '<br />City: ' + city + '<br />Country: ' + country + '<br />Country Code: ' + country_code + '<br />Region: ' + region;
} else {
var text = 'Google was not able to detect your location';
}
document.write(text);
}
geoTest();
</script>
</body>
</html>
このAPIは、一部のIPでも機能しますが、「非推奨」のようです。
これは私がここから得た答えです:
ローダーの地理位置情報機能自体は廃止されていません。数年前に文書化を中止し、精度が向上したHTMLベースのソリューションを推奨しましたが、現時点ではローダー自体から機能自体が削除されていません。ありがとう!
したがって、IPの場所が見つからない場合、google.loader.ClientLocationはnullです。