1

現在、Googleマップ画像をHTMLメールで送信しています。Google APIを呼び出して地図画像を取得し、どこかに画像を保存することは可能ですか

現在、私は仕事を達成するためにstatic-maps-apiを使用しています。静的マップapiを呼び出して画像URLに画像URLとしてsrcを設定します。

<img src="https://maps.googleapis.com/maps/api/staticmap?markers=icon:http://mailadapterdev.vanapi.com/static/start.png|13.82,100.54&markers=icon:http://mailadapterdev.vanapi.com/static/waypt1.png|13.80,100.54&markers=icon:http://mailadapterdev.vanapi.com/static/waypt2.png|13.81,100.52&markers=icon:http://mailadapterdev.vanapi.com/static/waypt3.png|13.79,100.54&markers=icon:http://mailadapterdev.vanapi.com/static/dest.png|13.79,100.53&path=weight:3|color:blue|enc:[email protected]?HGLMX?VV`[email protected]|[email protected]@[email protected]`[email protected]`[email protected]@[email protected]`[email protected]@[email protected]|[email protected]@[email protected]~B{[email protected]@[A[[email protected]@[email protected][email protected]@[email protected][[email protected]?}A][email protected]@|A\J?JOIsCJgC?[[email protected]^[email protected]`[email protected]@[email protected]@[email protected]@DHDN?TC`@IFW^[email protected][[email protected]@[email protected]|@`@[email protected]{D~J}[email protected]@[email protected]`@Q^[email protected]{[email protected]@}[email protected]?LlCH~DI_EMmCH?|@BdA?lA?nCBfADlAFrDHnEH|ELtIRjAB|[email protected]`[email protected]@[email protected]@[email protected]@}[email protected]~AcE`[email protected]@[email protected]\mC|@[email protected]]XkAZuBX}[email protected]@[email protected]`[email protected][email protected]@[email protected][email protected][email protected]@[email protected]|GrB`I`CYnA_BpH{A`H&key=MY_API_KEY=400x400" > 

スタティックマップAPIを呼び出す前に、私はスタティックマップのAPIを呼び出しますコール方向のAPIから取得ポリラインで、緯度長いとdirections-api を呼び出し、ポリラインを取得します。

私の問題は道ポイントの増加(通常5個以上)の数はポリラインが非常に大きくなると、それは2048の文字よりも大きい場合にはURLが、長くなります

ですが、私は私を見ることができませんマップ。 Googleはそれを有効なURLとして認識しません。それは明らかです。

私の質問は

  1. は策略ラインのサイズを小さくするために、とにかくありますか?
  2. Google APIを呼び出してイメージを取得し、それを自分のサーバーに保存する方法はありますか?
  3. 私が2番目の点を行うことができれば、私の望むたびにイメージを取得するためにgoogle serverを呼び出すのではなく、私のサーバーにGoogleマップを保存するのは不正ですか?
  4. 私の仕事を達成する他の方法はありますか?

私は今この問題を2週間以上抱えています。私はほとんどすべてを試しました。この問題を解決するために私を助けてください。

ありがとうございます。

答えて

2

私は自分の質問にお答えします - ポリラインのサイズを小さくする方法はpolyline encodingを使用することで、一部のみ1ため

を。それはあなたが、私はこれを実装するためにsimplify-pathpolylineモジュールを使用Node.jsのためthis interactive sample

を使用することができますどのように動作するかを確認するには 。

  1. CALあなたの緯度、長いデータとDirections APIステップと概要ポリライン
  2. デコードsimplify-pathモジュールを使用してパスを簡素化polylineモジュール
  3. を使用して策略ラインを取得します。
  4. は最終的にあなたが簡略化され、比較的短い策略ラインを取得しますpolylineモジュール

var simplify_path = require("simplify-path"); 
var polyline  = require("polyline"); 

var poly_line = "overview polyline from directions API"; 

var path = polyline.decode(poly_line); 
var tolerance = 10; 

path = simplify_path(path, tolerance) 
var new_polyline = polyline.encode(path); 

console.log("old_plyline "+JSON.stringify(poly_line)); 
console.log("new_polyline "+JSON.stringify(new_polyline)); 

にあなたがエンコードを使用して3番目のステップから得た詳細情報を符号化します。

は非常に簡単に思える:D

+0

を使用する可能性を持っている、ですあなたは何を使っているのですか?それはすでに単純化されています。 – miguev

2

は、あなたがあなたのサーバーに画像を保存することはできません質問2と3に取り組みます。利用規約によって禁止されています。段落のToS

の10.1(a)のサービスを通じて除くAPIやコンテンツへのアクセスなしで

ルック。あなたは、サービスを通じて以外のMaps APIまたはコンテンツにはアクセスしません。たとえば、Maps API以外のインターフェースやチャンネル(ドキュメント化されていないGoogleインターフェースを含む)を通じて地図タイルや画像にアクセスしてはなりません。

https://developers.google.com/maps/terms#10-license-restrictions

+0

ただし、同じセクション(10.5):>パフォーマンスの向上のみを目的として限られた量のコンテンツを保存することができる場合を除き、本サービス以外で使用されるコンテンツをプリフェッチ、キャッシュ、インデックス作成、保存することはありませんネットワークの待ち時間のためにMaps API実装の... – XstiX

3

私は、インラインあなたにお答えします:

  1. はポリラインのサイズを小さくするためにとにかくありますか?
    はい、Googleはコード化されたポリラインを使用し、hereはプロセスの作成方法を見つけることができます。 Interactive Polyline Encoder Utilityもあります。GeometryというGoogleのライブラリとその方法encodePath()の使用を検討することもできます。参照番号hereを検索してください。
  2. Google APIを呼び出してイメージを取得し、それを自分のサーバーに保存する方法はありますか?
    ませない、私は2番目のポイントを行うことができる場合xomena

  3. で述べたように、それは画像に私がしたいすべての時間を取得する代わりに、コールGoogleのサーバーで、私のサーバーでGoogleマップを保存することは違法です? xomena

  4. で述べたように
    ませない、私は私の仕事を達成することができる任意の他の方法があります。あなたの最初の質問に対する私の答えで述べたように

    はい、あなたがルートから `overview_polyline`を使用しているとき、あなたはまだこれを必要とする場合、私は驚かれることでしょうGoogle's Geometry library
関連する問題