2016-11-28 5 views
2

Googleの地理的な場所やその他のリソースを使って、IP、Lang、Latなどのユーザーの場所を取得しました。私のウェブサイト(PHP、Jquery)のユーザーの正確な位置が必要です

しかし、すべての結果は間違っています。常に正確な携帯電話のような位置検出器を統合する必要があります。

ありがとうございました。

+0

あなたは 'navigator.geolocation'を試しましたか? – progrAmmar

+0

ウェブサイトを実行しているコンピュータでは、場所が正確でない可能性があります。なぜなら、gpsデバイスが付属していないからです。 – Arun

+0

はい私はnavigator.geolocationを使用しましたが、場所が正確ではありません。 –

答えて

0

これは、パッケージGeoIP2GeoIPより優先)を使用して実行できます。あなたはコンポーザーを使ってパッケージをインストールし、free databaseのいずれかをリンクするか、より正確なデータベースをMaxMindから購入することができます(都市、国など)。 Githubから取ら

例コード:

<?php 
require_once 'vendor/autoload.php'; 
use GeoIp2\Database\Reader; 

// This creates the Reader object, which should be reused across 
// lookups. 
$reader = new Reader('/usr/local/share/GeoIP/GeoIP2-City.mmdb'); 

// Replace "city" with the appropriate method for your database, e.g., 
// "country". 
$record = $reader->city('128.101.101.101'); 

print($record->country->isoCode . "\n"); // 'US' 
print($record->country->name . "\n"); // 'United States' 
print($record->country->names['zh-CN'] . "\n"); // '美国' 

print($record->mostSpecificSubdivision->name . "\n"); // 'Minnesota' 
print($record->mostSpecificSubdivision->isoCode . "\n"); // 'MN' 

print($record->city->name . "\n"); // 'Minneapolis' 

print($record->postal->code . "\n"); // '55455' 

print($record->location->latitude . "\n"); // 44.9733 
print($record->location->longitude . "\n"); // -93.2323 

無料のデータベースは悪くないですが、あなたはそれがGPSを使用せずに、可能な限り正確である必要がある場合、私はプロのデータベースの購入をお勧めします。これは主に、IPブロックが販売されたときにリストが頻繁に更新されるためです。

+0

ありがとうございます@ Kitson88 –

+0

@Paritosh心配しないでください。その質問に答えてマークすることを忘れないでください。私はまたあなたの他の質問にマーキングすることをお勧めします。システムの仕組みを確認するには、次のhttp://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workをご覧ください。 – Kitson88

関連する問題