2011-08-03 13 views
1

私はこのコードをクライアント側で書いて、電子メールの目的のためにサーバーに送信しました。その画像は壊れた画像として表示されます。私はGoogle静的map.hereにパスを描きたい私が使ったコードGoogle静的地図にパスを描画

<img src = "http://maps.googleapis.com/maps/api/staticmap?size=400x400&path=weight:3%7Ccolor:orange%7Cenc:'+polyline+'" /> 

私はこのコードを使用するとき、それはimage.Iは、クライアント側でこのコードを書いて、その電子メールで送信purpose.inのためにサーバーに送信され表示されません、このように

var polyline; 
var points = new Array(); 
for(var i=0; i<googleRoute.getVertexCount(); i++) 
{ 
    points[i] = new GLatLng(googleRoute.getVertex(i).lng(),googleRoute.getVertex(i).lat()); 
} 
polyline = new GPolyline(points, '#ff0000', 5, 0.7); 

を作成したポリライン画像が壊れた画像として表示される電子メールを私のコードに間違っていますか?あなたは、単に行うことができますポイントの配列を持っている場合は

+0

ポリラインは、動的マップ上 – Alex

+0

@alexを働く:これは、エンコードされたポリラインhttp://code.google.com/apis/maps/documentation/staticmaps/ というトピックを持っている私は、静的なマップのポリライン作業も – lakshman

+0

ああだと思い、だからあなたはできる。クール!あなたはどうやって画像をレンダリングしていますか?それがjavascriptでなければ、 "ポリライン"を参照することはできません。たぶん少しコードを投稿しますか? – Alex

答えて

1

、ポリライン変数はGlatlang値の多くが含まれます。そのため、URL文字の制限(What is the character limit on URL)を超えます。 ajaxリクエストを使用してcharcterの制限を超える長いURLを送信することはできません。だから私はその壊れたイメージを持っている。 解決策として、スキップする値でforループをインクリメントしてGlatlangの中間値を無視しました。したがって、縮小されたマップのポリラインを受け入れることができます。

+1

とは何ですか? – Jonathan

+1

解決策として余分な文字を追加しました – lakshman

0

:2つの都市間の距離が大きくなると

$points = array('53.061969559518,-3.1661187796875', '52.647368106972,-2.6806604056641'); 
$pointsUrl = ""; 
for($i=0; $i<count($points); $i++) { 
    $pointsUrl .= '%7C'.$points[$i]; 
} 
echo '<img src="http://maps.googleapis.com/maps/api/staticmap?path=color:0x0000ff%7Cweight:5'.$pointsUrl.'&size=270x256&maptype=roadmap&sensor=false" />'; 
関連する問題