、PHPでの場所を見つけるために別のAPIですただし、ユーザーの同意が必要です(例:here)(IE9 +やWindows Mobile 7.5のブラウザを含むほとんどの新しいブラウザでは、Windows Phone 7.5+を含む)。
に次に実行する場所を取得するためにJavaScriptを使用することである。
if (window.navigator.geolocation) {
var failure, success;
success = function(position) {
console.log(position);
};
failure = function(message) {
alert('Cannot retrieve location!');
};
navigator.geolocation.getCurrentPosition(success, failure, {
maximumAge: Infinity,
timeout: 5000
});
}
position
目的は、彼らが持っていないように(ただし、これは、デスクトップブラウザに少ない人口密集地域において非常に不正確になることができ、ユーザの位置の緯度と経度を保持しますGPSデバイスが内蔵されています)。さらに詳しく説明すると、ライプツィヒでは、デスクトップコンピュータで約300メートルの精度を得ることができます。私は携帯電話のGPSデバイスで約30メートルの精度を得ています。
次に、Google Maps API(here for reverse geocodingを参照)の座標を使用して、ユーザーの場所を検索できます。必要に応じて、few gems for Railsがあります。私はそれらを使用する必要性を感じなかったが、一部の人々はそれらを好むようだ。
国/都市のリストについては、プロジェクトではGeonamesから入手可能なデータを使用しましたが、最初にニーズに合わせて変換する必要がありました。