JavaScript和Delphi之间如何发送数据?

3

我想在Delphi程序中使用由Javascript生成的数据填充数组。

我有一个加载了以下Javascript的WebBrowser:

function DrawTrack () {
  var geo_path = new Array ();
      var geo_path = [
          new google.maps.LatLng (-18.142599, 178.431),
      new google.maps.LatLng (-27.46758, 153.027892)
      ];
    var Track = new google.maps.Polyline ({
      path: geo_path,
      strokeColor: "# FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
        });

  Track.setMap (map);
}

我想添加一个按钮,带有一个OnClick处理程序,可以调用
HTMLWindow2.execScript ('DrawTrack ()', 'JavaScript')

该函数将创建一个2微米坐标的线条。
如何实现我的目标?
1个回答

5

您必须重写JavaScript函数以接收参数

function DrawTrack (FromLat, FromLng, ToLat, ToLng) {
  var geo_path = new Array ();
      var geo_path = [
          new google.maps.LatLng (FromLat, FromLng),
      new google.maps.LatLng (ToLat, ToLng)
      ];
    var Track = new google.maps.Polyline ({
      path: geo_path,
      strokeColor: "# FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
        });

  Track.setMap (map);
}

然后以这种方式从Delphi传递值

HTMLWindow2.execScript(Format('DrawTrack (%s,%s,%s,%s)',['-18.142599','178.431','-27.46758','153.027892']), 'JavaScript');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接