1

次の方法を使用して、Google マップの latlng を逆ジオコーディングしています。

[GClientGeocoder.getLocations(address:String, callback:function)][1]

次のように述べています。

このメソッドは Google サーバーへの呼び出しを必要とするため、応答を処理するためにコールバック メソッドも渡す必要があります。この応答にはステータス コードが含まれ、成功した場合は 1 つ以上の Placemark オブジェクトが含まれます。

Placemark オブジェクトは場所ごとに異なる属性を返すように見えるため、誰でも私に Placemark オブジェクトの決定的な参照を指摘できますか。たとえば、ThoroughfareName を取得することもあれば、AddressLine を取得することもあります。常にどちらかを取得するかどうか、およびそれらが交換可能かどうかを理解したいと思います.

4

3 に答える 3

1

このページは Google Maps API ドキュメントからのもので、Placemarkオブジェクトとは何かについて非常に簡単な説明が含まれています。

ただし、おそらく焦点を当てたい部分は、Google が Placemark のAddressDetailsオブジェクトに使用する形式、つまりxAL (eXtensible Address Language)が示されている場所です。そこには仕様へのリンクがあり、基本的にフォーマット全体を定義するダウンロード可能なスキーマ (xsd ファイル) につながります。警告の言葉: 仕様はかなり広範囲ですが、あなたのプロジェクトではそれほど気にする必要はないかもしれません.

編集:
関連ページへのリンクを追加することが許可されていないことをお詫びします。

于 2009-07-10T13:09:16.110 に答える
0

あなたはそれを探す必要があります、しかしグーグルは実際に隠された目印についてのいくつかの文書を持っています。

于 2009-07-10T12:59:19.463 に答える
0

Placemark オブジェクトの内容は、利用可能なデータによって異なります。返されたものを解決する最善の方法は、 JSON.stringify を使用して応答を調べることであることがわかりました (デバッグ用)。

function onGeocode (resp)
{
    document.getElementById("cd_output").innerHTML = JSON.stringify (resp);
}

これにより、オーストラリアのシドニーの住所をジオコーディングすると、次の結果が得られました。

Placemark
{
    id, address, 
    AddressDetails
    {
        Country, CountryNameCode, CountryName, 
        AdministrativeArea
        {
            AdministrativeAreaName, 
            Locality
            {
                LocalityName
                Thoroughfare { ThoroughfareName }
                PostalCode { PostalCodeNumber }
            }
        }
    }
    Accuracy,
    ExtendedData
    {
        LatLonBox { north,south,east,west }
        Point { coordinates }
    }
}
于 2009-07-10T13:04:53.753 に答える