C#winform和百度API互动-----之读取中js的参数

Posted 捡贝壳的孩子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform和百度API互动-----之读取中js的参数相关的知识,希望对你有一定的参考价值。

上百度的API

<!DOCTYPE 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" />
 <style type="text/css">
  body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
 </style>
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
 <title>测距</title>
</head>
<body>
 <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
 // 百度地图API功能
 var map = new BMap.Map("allmap");
 map.centerAndZoom("重庆",12);  //初始化地图,设置城市和地图级别。
 var pointA = new BMap.Point(106.486654,29.490295);  // 创建点坐标A--大渡口区
 var pointB = new BMap.Point(106.581515,29.615467);  // 创建点坐标B--江北区
 alert(‘从大渡口区到江北区的距离是:‘+(map.getDistance(pointA,pointB)).toFixed(2)+‘ 米。‘);  //获取两点距离,保留小数点后两位
 var polyline = new BMap.Polyline([pointA,pointB], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});  //定义折线
 map.addOverlay(polyline);     //添加折线到地图上
          function getdistance() //这个是自己添加的,自己定义个方法然后让WINFORM调用,(当然也可以反过来,WINFORM中定义个方法,JS中再调用)
       {return  map.getDistance(pointA,pointB).toFixed(2);}
</script>

——————————————————————————————————————————————————————————————————————————————————————

加入控件WEBBROWER

在窗体load中加入代码

 string str_url = Application.StartupPath + "\\HTM的名字.htm"; //htm要放到DEBUG目录下  ,如果不用启动目录放任意目录 string str_url="";自己琢磨吧                   
 Uri url = new Uri(str_url);              
webBroGIS.Url = url;           
 webBroGIS.ObjectForScripting = this; 

上WINform代码

 var s = webBrowser1.Document.InvokeScript("getdistance");//引号中是function的函数名,注意变量要用var型

txtbox.text=s.tostring();

-----------------------------------------------------------

几个问题 1乱码要把charset 改成gb2312,2秘钥自己网上搜吧



























以上是关于C#winform和百度API互动-----之读取中js的参数的主要内容,如果未能解决你的问题,请参考以下文章

做winform里怎么把登陆页面的账号传到其他页面的控件中

如何调用百度地图API实现手机自动定位

WinForms界面控件初探:互动精准强大的Map Control

C#-WinForm-无边框窗体的移动和阴影-API

外部修改C#Winform程序配置文件后Winform程序通过ConfigurationManager.AppSettings.Get方法读取没有变化

使用Baidu地图API写一个个人移动轨迹的Android app,请问谁会呢?