Delphi XE6 通过JavaScript API调用百度地图


本文整理自网络,侵删。

 介绍

本文章介绍了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读ios的设备id

Delphi android实例-trectangle加载图片(xe8+小米2)

Delphi 进程隐藏的若干方法

Delphi 掌控pagecontrol中的右上方的左右箭头事件

Delphi防止因系统崩溃而丢失任务栏的图标(重建托盘图标)

Delphi 用nethttpclient执行post操作遇到的问题

Delphi获取13位格林治时间实现方法

Delphi idhttp returning http 1.1/500 显示错误内容

vclzip控件的使用

Delphi winapi: getwindowrect、getclientrect - 获取窗口的外部与内部矩形

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...