統合ジオコーディング正しい方法


Geocodeをノードに統合するシリーズの最初の記事です.あなたを許す方法でのJSアプリケーション
  • 決して中断しない統合を作成する
  • 場所に基づいて別のAPIプロバイダを使用してください
  • あなたが常に必要なデータを取得してください
  • 単一の最良のプロバイダはありません


    ジオコーディングを統合する場合、ほとんどの開発者は、地理的なAPIプロバイダのカップルを比較することによって開始、一見最高の1つを選択し、そのアプリでそれを焼く.
    しかし、単一のベストジオコーディングAPIはありません.さらに、すべての考慮されたプロバイダに慣れることは時間を要します、そして、固い配線だけはベンダー・ロック以外の何も成し遂げません.

    すべてを統合する


    ユニコーンを探す代わりに、ランタイムで好みのどんなプロバイダーにでもアクセスしてください.これはSuperface '多くのAPIに対する一般的なインターフェースとして機能します.ここでは、それを行う方法です.

    Superface Sennedkを用いたジオコーディングの統合


    以下の手順はとても簡単です、しかし、これがスーパーフェースであなたの最初のランであるならば、あなたはちょうどフードの下で起こっていることのより良い理解を望みます.read the documentation .

  • Superface Onedkパッケージをプロジェクトフォルダにインストールします.
    npm install @superfaceai/one-sdk
    

  • インストールするaddress/geocoding プロフィール.
    npx @superfaceai/cli install address/geocoding
    

  • プロバイダの設定を行います.Nominatim 公開APIを公開します.キーは必要ありません.
    # Here.com
    npx @superfaceai/cli configure here -p address/geocoding
    
    # Google Maps
    npx @superfaceai/cli configure google-apis-maps -p address/geocoding
    
    # Azure Maps
    npx @superfaceai/cli configure azure -p address/geocoding
    
    # OpenCage
    npx @superfaceai/cli configure opencage -p address/geocoding
    
    # TomTom
    npx @superfaceai/cli configure opencage -p address/geocoding
    
    # Nominatim
    npx @superfaceai/cli configure nominatim -p address/geocoding
    
    別のプロバイダを必要とする場合let me know.

  • 目的のプロバイダーのAPIキーを取得し、環境変数として設定します.
    # Here.com
    export HERE_API_KEY=your-value-from-here
    
    # Google Maps
    export GOOGLE_APIS_MAPS_API_KEY=your-value-from-google-maps
    
    # Azure Maps
    export AZURE_API_KEY=your-value-from-azure
    
    # OpenCage
    export OPENCAGE_API_KEY=your-value-from-opencage
    
    # TomTom
    export TOMTOM_API_KEY=your-value-from-tomtom
    
    APIキーの入手方法Here.com | Google Maps | Azure Maps | OpenCage | TomTom

  • 次のコードをノードに使用します.JSアプリケーションと入力アドレスを入力します.
    const { SuperfaceClient } = require('@superfaceai/one-sdk');
    
    async function Geocoding() {
      const sdk = new SuperfaceClient();
    
      // Load the installed profile
      const profile = await sdk.getProfile('address/geocoding');
    
      // Choose the provider
      const provider = await sdk.getProvider('nominatim');
    
      // Use the profile
      const result = await profile
        .getUseCase('Geocode')
        .perform({
          addressCountry: 'United States',
          addressLocality: 'Manhattan',
          postalCode: 'NY 10036',
          streetAddress: 'Times Square',
        },
        { provider }
      );
    
      // Check out the result
      try {
        const data = result.unwrap();
        console.log(data);
      } catch (error) {
        console.error(error);
      }
    }
    
    Geocoding();
    

  • コードを実行します.
    呼び出しGeocoding 関数は同様の結果を返すはずです.
    { latitude: '40.757280550000004', longitude: '-73.98585503545917' }
    
  • そしてそれです.あなたの基本的な統合は準備ができています.

    次へ読む