TWebBrowser中的Google街景

nou*_*uns 2 delphi google-maps twebbrowser google-street-view

有没有人有任何成功让StreetView在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.
Run Code Online (Sandbox Code Playgroud)

表单显示时:

  • 如果该位置没有街景信息,我会得到一个常规的地图视图.
  • 如果有街景信息(在另一个浏览器窗口中验证),则只显示灰色屏幕.

我猜测Flash播放器没有加载.

你们有什么想法吗?

问候,

西蒙

RBA*_*RBA 5

你看过DelphiMaps项目了吗?描述:

DelphiMaps库是一组Delphi组件,旨在使开发人员能够轻松地将GIS功能集成到他们的应用程序中.

该软件包包含以下包装:

  • Google Maps API(v3)
  • Google/Openstreetmap静态地图
  • Google地理编码API
  • Google Directions API
  • 谷歌街景

Rodrigo Ruz 在2010年的博客上发布了一个功能齐全的例子.