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);

    }

  • 相关阅读:
    72.2801 LOL-盖伦的蹲草计划(广搜)
    71.双向最短路径:聚会
    POJ 2531 Network Saboteur
    POJ 3274 Gold Balanced Lineup(哈希)
    POJ 3349 Snowflake Snow Snowflakes(哈希)
    (重)POJ 3020Antenna Placement
    HDU 1098 Ignatius's puzzle
    中国海洋大学第四届朗讯杯高级组 I Cuckoo for Hashing
    中国海洋大学第四届朗讯杯高级组 A Rocky
    CF 217 B. Berland Bingo
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/6229131.html
Copyright © 2011-2022 走看看