zoukankan      html  css  js  c++  java
  • delphi 调用百度地图api

    一、调用javascript的方法

         两种:

          第一种:采用自编函数的方法

         

    function ExecuteJavaScript(WebBrowser:TWebBrowser; Code: string):Variant;
    var //发送脚本
    Document:IHTMLDocument2;
    Window:IHTMLWindow2;
    begin
    // execute javascript in webbrowser
    Document:=WebBrowser.Document as IHTMLDocument2;
    if not Assigned(Document) then Exit;
    Window:=Document.parentWindow;
    if not Assigned(Window) then Exit;
    try
    Result:=Window.execScript(Code,'JavaScript');
    except
    on E:Exception do raise Exception.Create('Javascript error '+E.Message+' in: '#13#10+Code);
    end;
    end;

    第二种:直接调用WebBrowser内置方法:

        WebBrowser1.OleObject.document.parentWindow.方法名();

    二、百度API的调用

         制作一个HTML文件

         

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的秘钥"></script>
    <title>百度地图测试</title>
    <style type="text/css">
    body, html,#allmap { 100%;height: 100%;overflow: hidden;margin:0;}
    </style>
    </head>
    <body>
    <div id="allmap"> </div>

    </body>
    </html>


    <script type="text/javascript">

    function setcenter(areaname){  //设置新的地图中心

      map.centerAndZoom(areaname,10);
    }

    var map = new BMap.Map("allmap"); //js 主程序,调起百度地图
    var point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point,5);
    map.enableScrollWheelZoom();

    </script>

    三、DELPHI 中的实现方法:

        

    WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'bmap.html');

    try
    ExecuteJavaScript(WebBrowser1,'setcenter("'+CenterCityname+'");');
    except
    on E:Exception do showmessage(E.Message);
    end;

    {

    或者:

    WebBrowser1.OleObject.document.parentWindow.setcenter(CenterCityname);

    }

  • 相关阅读:
    LinkedHashMap源码学习
    HashMap源码学习
    Java中"或"运算与"与"运算快慢的三三两两
    Java源码记录
    SpringBoot系列随笔
    分布式事物
    分布式事物
    部署spring boot + Vue遇到的坑(权限、刷新404、跨域、内存)
    一次使用存储过程游标遇到的坑
    UML简单介绍—类图详解
  • 原文地址:https://www.cnblogs.com/happyhills/p/3586100.html
Copyright © 2011-2022 走看看