2011-01-10 25 views
0

数ヶ月前にgoogle APIから緯度または経度を取得するために何かを書きます。後者はdrupalから緯度または経度のデータベースを世界のほとんどの都市に取得します。HTML5で緯度または経度を取得する方法

しかし、同じ都市名が複数の地域で見つかる可能性があるという問題があります。 Firozabadのようなインドと両方のバングラデシュ。 UPのAgraとRajasthanの寒天。

は混乱している同じ名前の都市を2つ見つけた場合、ユーザーの名前の混乱を意味します。

HTML5は訪問者の緯度または経度をサポートしていますが、私は彼らが生まれた場所またはフォームを記入するために使用したい都市の緯度または経度が必要です。

Googleと他のいくつかのようなAPIから緯度や経度を取得する方法。

ユーザが自分の緯度または経度を取得するためのテキストボックス内の位置を入れ:

プロセスがあることです。

私はそれらにすべての場所を表示したいと思います[同じものが複数見つかった場合]。

彼らは正しい位置を選択することができますし、クリック後、彼らはlatiとlangitudeを得ることができます。

どのAPIを使用してこれを行うことができますか。

答えて

1

私が正しくあなたを理解している場合、ここで(完全または部分)アドレスに基づいて、実際の場所のリストを返すJavascript機能、ユーザーが入力したのです。

getLocationsByAddress = function(address, onComplete) { 
    var geocoder = null; 
    var locations = []; 
    var location = null; 

    geocoder = new GClientGeocoder(); 
    geocoder.getLocations(address, function(response) { 
     if (!response || response.Status.code != 200) { 
      if (typeof (onComplete) != 'undefined') { 
       onComplete([]); 
      } 
     } else { 
      for (var i = 0; i < response.Placemark.length; i++) { 
       location = response.Placemark[i]; 
       locations[locations.length] = { 
        address: location.address, 
        x: location.Point.coordinates[1], 
        y: location.Point.coordinates[0], 
        zoom: 14 
       } 
      } 

      if (typeof (onComplete) != 'undefined') { 
       onComplete(locations); 
      } 
     } 
    }); 
} 

コードは、APIバージョン2を使用していますが、私V3で動作させるのはかなり簡単だと思います(詳細はthis API referenceを参照してください)。

UPDATE

@MaxymはV2 APIを述べたように非推奨とみなされ、したがって、それ以上使用すべきではありません。

this jQueryプラグインをご覧ください。 V2とV3の両方で動作すると主張しているので、V3でソースコードをどのように実行しているかを調べるためにソースコードを調べることができます。

+0

ジオコーディングAPI v2は廃止され、v3では大幅に変更されました – Maxym

0

私はそれがHTML 5に関するものかどうかはわかりません。あなたはちょうど彼女が意味する都市(maps.google.comのやり方 - ユーザーが「Odessa」と入力する方法)を選択できるヒントを作成する必要があります。そのような名前の都市のリストを参照してください)。 Googleはgeocoder APIを持っていますが、おそらくそれはGoogleマップで使用する必要があります(ライセンスを読むだけです)。
このプロセスは簡単です:ユーザーは都市を入力し、それをジオコーダーに送信して、そのような名前と座標を持つ都市のリストを取得します。あなたがそのリストを表示したら、ユーザーはそれを選択し、その座標を持っています。
Thereは、JavaScriptでGeocoding API v3を使用する方法と例を示すドキュメントです。 This oneアドレスから座標を取得する方法を示し、結果[0]のみを処理することを考慮しますが、すべての都市を取得するために結果を反復処理する必要があります。

関連する問題