0

電話番号の情報を取得するために、Google libphonenumberに取り組んでいます。州と国名を引っ張ることができました。しかし、CITY 名を取得できません。Google API は CITY 名も提供しますか?

事前にアドバイスをお願いします。

4

1 に答える 1

0

Google のlibphonenumberAPIは市外局番に基づいて都市名を提供しますか?

はい - ただし、その内部ジオコーディング データベースにその情報が含まれている場合のみです。一部の米国の電話番号は完全に非地理的 (1-800番号など) であり、その他の多くの電話番号については、データベースにその情報がありません。

また、libphonenumberの geo ルックアップは単一のstring値のみを返します。都市、州、郡、および郵便番号フィールドを持つクラスのような構造化データは返しません。また、返される文字列値の形式はかなり異なります。人間のユーザーがデータを解釈する必要があるため、自動化されたシステムでの使用は制限されます。

たとえば、現在libphonenumber(2021 年 12 月現在、バージョン8.12.38) を使用すると、これらの架空の有効な数値に対して次の結果が得られます。

  • 1-800-333-4567
    • これは非地理的な「1-800」(フリーダイヤル) 番号です。
    • libphonenumberのルックアップは文字列を返します"United States"
  • 1-201-200-0000
    • これは、ニュージャージー州の市外局番 201 の米国の電話番号です。
    • libphonenumberのルックアップは文字列を返します"Jersey City, NJ"
      • それは市と州に解決され、州の略語が与えられました。
  • 1-425-666-9999
    • これは、ワシントン州レドモンドの T-Mobile ストアから取得した (ほぼ) 私自身の個人の電話番号です。
    • しかし、libphonenumberのルックアップは、"Washington State"都市名などのない不正確な文字列のみを返します。"WA"省略形ではなく、完全な米国の州名が返されたのは興味深いことです。

インプロセスの「オフライン」地理位置情報データベースと同様に、データは必然的に古くなり、不正確になることを忘れないでください。また、少なくとも米国では、携帯電話番号と固定電話番号を区別することは不可能であり、誰かの携帯電話番号の市外局番は、電話加入者の実際の物理的な場所から完全に切り離されています (通常、電話番号の市外局番です)。最初にサービスにサインアップした AT&T / T-Mobile / Sprint ストア (後で全国に移動した場合でも)。

とにかく、PhoneNumberOfflineGeocoderクラスの使用方法は次のとおりです。

ジャワ:

static string lookupNumber( string phoneNumber ) {
    
    PhoneNumber parsed = PhoneNumberUtil.getInstance().parse( phoneNumber, /*defaultRegion:*/ "US" );

    return PhoneNumberOfflineGeocoder.getInstance().getDescriptionForNumber( parsed, Locale.ENGLISH );
}

lookupNumber( "1-800-333-4567" ) // "United States"

lookupNumber( "+12012000000" ) // "Jersey City, NJ"

lookupNumber( "+14256669999" ) // "Washington State"

C#

static String LookupNumber( string phoneNumber ) {
    
    PhoneNumber parsed = PhoneNumberUtil.GetInstance().Parse( phoneNumber, defaultRegion: "US" );

    return PhoneNumberOfflineGeocoder.GetInstance().GetDescriptionForNumber( parsed, Locale.English );
}

LookupNumber( "1-800-333-4567" ) // "United States"

LookupNumber( "+12012000000" ) // "Jersey City, NJ"

LookupNumber( "+14256669999" ) // "Washington State"
于 2021-12-31T04:15:02.887 に答える