如何在Javascript和Delphi之间发送数据?

3 javascript delphi google-maps

我试图在我的Delphi程序中使用Javascript生成的数据填充数组.

我有一个使用以下Javascript加载HTML的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);
}
Run Code Online (Sandbox Code Playgroud)

我想添加一个带有OnClick可以调用的处理程序的按钮

HTMLWindow2.execScript ('DrawTrack ()', 'JavaScript')
Run Code Online (Sandbox Code Playgroud)

该函数将创建一个2-um坐标的线.

我怎样才能实现目标?

RRU*_*RUZ 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);
}
Run Code Online (Sandbox Code Playgroud)

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

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