Google

解決


ガオ〜  2011-07-09 04:45:34  No: 40774

Delphi 7  Proを使用しているのですが
ボタンを選択したらGoogleマップ(Web)を開き
指定の住所より地図を表示するプログラムを作成したいのですが
可能なのでしょうか。


けど  2011-07-09 06:29:38  No: 40775

Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

// From「DMonkey」
//+encodeURI(文字列) … 文字列を一部の文字を除きURLエンコードします。返値は文字列。
function UrlEncode(const AStr,AppendNoConvChars: String; Space2Plus: Boolean): String;
const
  NoConversionChars = [
    'A'..'Z','a'..'z',
    '0'..'9',
    '-','_','.','!','*','''','(',')']; // '@', '$',];
var
  Sp, Rp: PChar;
  NoConversion: set of Char;
  i: Integer;
begin
  NoConversion := NoConversionChars;
  for i := 1 to Length(AppendNoConvChars) do
    NoConversion := NoConversion + [AppendNoConvChars[i]];

  SetLength(Result, Length(AStr) * 3);
  Sp := PChar(AStr);
  Rp := PChar(Result);
  while Sp^ <> #0 do
  begin
    if Sp^ in NoConversion then
      Rp^ := Sp^
    else
      if (Sp^ = ' ') and (Space2Plus) then
        Rp^ := '+'
      else
      begin
        FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
        Inc(Rp,2);
      end;
    Inc(Rp);
    Inc(Sp);
  end;
  SetLength(Result, Rp - PChar(Result));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Address:string;
const
  GMapURL='http://maps.google.com/maps?q=';
begin
  Address:=GMapURL+UrlEncode(Edit1.Text,'/:',False);
  ShellExecute(0,
               'open',
               PChar(Address),
               nil, nil, CmdShow);
end;


ガオ〜  2011-07-25 19:41:02  No: 40776

けどさん、ご回答ありがとうございます。
ご連絡遅れまして申し訳ありません。
ご丁寧なコーディングを記載頂きまして、
その通りに実行したところ、イメージ通りな
処理ができました。
こんなに楽して、いいのかなと、思ったぐらいです。
今後とも宜しくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加