本文整理自网络,侵删。
介绍
本文章介绍了Delphi XE6 通过JavaScript API调用百度地图,百度地图的接口是公开的,但是我们如果需要使用百度地图,主要注册一个百度的用户,然后申请一个KEY,然后我们可以看百度地图开发里的例子,不是很复杂,这样我们可以通过TWebBrower来打开百度地图了。
具体Delphi XE6 调用百度地图一个例子:
unit Unit3;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.WebBrowser,
FMX.StdCtrls;
type
TForm3 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
const
s='';//等于网页内容,我贴上来,就乱了,只好说明在这里。
s1=
'var map = new BMap.Map("allmap");'
+'var point = new BMap.Point(116.404, 39.915);'
+'map.centerAndZoom(point,15);'
+'map.enableScrollWheelZoom();'
;//要执行的JavaScript代码
implementation
{$R *.fmx}
procedure TForm3.Button1Click(Sender: TObject);
begin
webbrowser1.EvaluateJavaScript(s1);//对网页执行JavaScript代码.
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
webbrowser1.LoadFromStrings(s,'http://api.map.baidu.com');//调入网页
end;
end.
复制代码
下面是开发的一些说明
只有FMX.WebBrowser支持EvaluateJavaScript及Loadfromstring方法,VCL的TWebBrowser是不支持的。
FMX.WebBrowser只支持Android以及IOS,不支持Win32
LoadFromStrings调用网页时,要指定第二个参数,不然不显示地图
类似的方法也可以来调用Google地图或者其他地图
相关阅读 >>
Delphi android实例-trectangle加载图片(xe8+小米2)
Delphi 掌控pagecontrol中的右上方的左右箭头事件
Delphi防止因系统崩溃而丢失任务栏的图标(重建托盘图标)
Delphi 用nethttpclient执行post操作遇到的问题
Delphi idhttp returning http 1.1/500 显示错误内容
Delphi winapi: getwindowrect、getclientrect - 获取窗口的外部与内部矩形
更多相关阅读请进入《Delphi》频道 >>