加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:58:57 所属栏目:大数据 来源:网络整理
导读:参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的。 ? 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu.com/map/jsdemo.htm 下一步,就是把例子中的代码,移动TWebBrower中。 unit Un

参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的。

?

首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu.com/map/jsdemo.htm

下一步,就是把例子中的代码,移动TWebBrower中。

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.

注意的问题:

1.只有FMX.WebBrowser支持EvaluateJavaScript及Loadfromstring方法,VCL的TWebBrowser是不支持的。

2.FMX.WebBrowser只支持Android IOS,不支持Win32

3.LoadFromStrings调用网页时,要指定第二个参数,不然不显示地图

遗憾:

感觉地图的显示速度不好,点击按钮时,会闪一下,归纠于FMX的性能还是这种调用方式的原因产生的?还不清楚。

最后,附上截图:

Delphi?<wbr>XE6?<wbr>通过JavaScript?<wbr>API调用百度地图


后记:

baidu为手机提供了专用的Javascript API,叫极速XXX,我试着调用,不出地图,不知什么原因。估计用这个,能提高反应速度。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读