0

asp.net で gmap イメージを生成しようとしています。異なる緯度と経度を指定し、ポリラインで Google マップ イメージを生成する必要があります。これまでのところ、以下のコードで画像を作成できます:

protected void btnMap_Click(object sender, EventArgs e)
{
    Save_Image("http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false");
}

private void Save_Image(string URL)
{
  WebClient client = new WebClient();
  string strFileName = DateTime.Now.GetHashCode().ToString() + ".png";
  client.DownloadFile(URL, Server.MapPath("~/images/" + strFileName));
  imgGmap.ImageUrl = "~/images/" + strFileName;
}

この URL で経度と緯度を渡す方法が見つかりません。同じことをしているこのブログをチェックしましたが、このデモで画像を生成する方法が見つかりません。

4

1 に答える 1

1

ドキュメントによると、次のようにポリラインのパスを指定できるはずです。

path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397

例えば

http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false&path=color:0x0000ff|weight:5|40.702147,-74.015794|40.711614,-74.012318|40.718217,-73.998284

または、エンコードされたポリライン形式を使用することもできます (URL を大幅に短縮するのに役立ちます)。

そして、次のように指定します。

&path=weight:3%7Ccolor:orange%7Cenc: polyline_data

その polyline_data を取得するには、次のオンライン フォームを使用できます: https://developers.google.com/maps/documentation/utilities/polylineutility

または、 https ://developers.google.com/maps/documentation/utilities/polylinealgorithm の仕様に基づいてアルゴリズムを記述します 。

于 2013-05-30T08:49:14.013 に答える