2

ストリートビューをTWebBrowserコントロールに表示することに成功した人はいますか?

プログラムでURLを作成し、単純なDelphi形式で表示したいと思います。

これが私がそのフォームについてこれまでに持っているものです:

unit frmSView;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls;

type
  TfrmStreetView = class(TForm)
    browserStreetView: TWebBrowser;
    txtAddress: TEdit;
    procedure txtAddressExit(Sender: TObject);
    procedure ShowSV(Lat: string; Lon: string);
  private
    // private declarations
  public
    // public declarations
  end;

var
  frmStreetView: TfrmStreetView;

implementation

{$R *.dfm}

procedure TfrmStreetView.ShowSV(Lat: string; Lon: string);
var
  Addr: string;
  Flags: OleVariant;
begin
  Addr := 'http://maps.google.com/maps?q=&&layer=c&&cbll=' + Lat + ',' + Lon + '&&cbp=12,0,0,0,0&&output=svembed';
  browserStreetView.Navigate(Addr, Flags, Flags, Flags, Flags);
  txtAddress.Text := Addr;
  ShowModal;
end;

procedure TfrmStreetView.txtAddressExit(Sender: TObject);
var
  Flags: OleVariant;
begin
  browserStreetView.Navigate(txtAddress.Text, Flags, Flags, Flags, Flags);
end;

end.

フォームが表示されたとき:

  • その場所にストリートビュー情報がない場合は、通常のマップビューが表示されます。
  • ストリートビュー情報(別のブラウザウィンドウで確認済み)がある場合は、灰色の画面が表示されます。

FlashPlayerがロードされていないと思います。

何かアイデアはありますか?

よろしく、

サイモン

4

2 に答える 2

5

DelphiMapsプロジェクトを見たことがありますか?説明:

DelphiMapsライブラリは、開発者がGIS機能をアプリケーションに簡単に組み込むことができるようにすることを目的としたDelphiコンポーネントのセットです。

パッケージには、次のラッパーが含まれています。

  • Google Maps API(v3)
  • Google/Openstreetmap静的マップ
  • GoogleジオコーディングAPI
  • Google Directions API
  • Googleストリートビュー

Rodrigo Ruzは、2010年に彼のブログに完全に機能する例を投稿しました。

于 2012-07-09T14:08:45.107 に答える
3

Delphiで何かを書いたのは久しぶりですが、正しく覚えていれば、TWebBrowserコントロールは、システムにあるInternetExplorerのバージョンのブラウザ部分です。「ブラウザ部分」とは、HTMLレンダラーとJavascriptインタープリターを意味しますが、InternetExplorerと呼ばれる完全なプログラムはそれだけではありません。また、Flashなどのプラグインと、必要に応じてそれらのプラグインをロードするための管理ロジックもあります。

私が提案するのは、maps.google.comをロードする代わりに、Flashなしでストリートビューを実装するV3 API(純粋なJavascript)を使用して単純なページを作成できることです。このページをTWebBrowserコントロールにロードしてから、ペグマンをどこかにドロップしてみてください。

http://maps.forum.nu/v3/gm_streetview_V3.html

于 2012-07-09T14:21:24.143 に答える