Delphi 在TWebBrowser中搜索谷歌街景
有没有人成功地让街景显示在TWebBrowser控件中 我希望以编程方式构建Url,并以简单的Delphi形式显示它 以下是我到目前为止对该表单的了解:Delphi 在TWebBrowser中搜索谷歌街景,delphi,google-maps,twebbrowser,google-street-view,Delphi,Google Maps,Twebbrowser,Google Street View,有没有人成功地让街景显示在TWebBrowser控件中 我希望以编程方式构建Url,并以简单的Delphi形式显示它 以下是我到目前为止对该表单的了解: unit frmSView; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls; type TfrmStreetView =
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.
当表格显示:
- 如果在那个位置没有街景信息,我会得到一个常规的地图视图
- 如果有街景信息(在另一个浏览器窗口中验证),它只会显示一个灰色屏幕
- 谷歌地图API(v3)
- Google/Openstreetmap静态地图
- 谷歌地理编码API
- 谷歌方向API
- 谷歌街景
Rodrigo Ruz于2010年在他的博客上发表了一篇文章。我很久没有用Delphi写过任何东西了,但如果我没记错的话,TWebBrowser控件是系统上任何版本的Internet Explorer的浏览器部分。“浏览器部分”指的是HTML渲染器和Javascript解释器,但称为Internet Explorer的完整程序远不止这些。它还有一些插件,比如Flash,以及一些管理逻辑,可以在需要时加载这些插件 我的建议是,不用加载maps.google.com,你可以用V3API创建一个简单的页面,它不使用Flash(纯Javascript)实现街景。 尝试将此页面加载到TWebBrowser控件中,然后将pegman放到一个好地方:
这看起来真的很好,但我只能使用Delphi 2006,它正在努力加载它:(不,我无法在加载项目时不出错。我可能需要参考一些软件包(?)但在某个地方,我对Delphi还很陌生,现在有点迷路。我已经加载了DemoStreetView项目,但它找不到DelphiMaps.Browser.dcu。@很可能您必须安装此库附带的软件包。我还没有看过,但我很愿意打赌它有一个您需要安装的软件包,可以在其中放置组件您的调色板。只有这样,您才能打开示例项目,或以其他方式使用此库。该库可能有一些说明,但如果没有,请研究如何安装组件包。我认为这正是我需要的。非常感谢:)+1ed,@nomes,由于以下原因,要多次创建
TfrmStreetView
时要小心。