首頁 >後端開發 >C#.Net教程 >C# 程式中嵌入百度地圖

C# 程式中嵌入百度地圖

黄舟
黄舟原創
2017-02-06 17:02:312312瀏覽

本例是對WinForm中使用百度地圖的簡要介紹。百度地圖目前支援Android開發,IOS開發,Web開發,服務接口,具體可以參考'百度地圖開放平台'。

【動態載入百度地圖】涉及到的知識點:

  • WebBrowser控件,此控件是VS自帶的控件,使用戶可以在WinForm窗體中導航網頁。主要使用到Navigate函數,此函數將指定的統一資源定位符 (URL) 處的文件載入到瀏覽器新視窗或 System.Windows.Forms.WebBrowser 控制項中。有關此控制項的詳細信息,請參考MSDN上詳細說明。

  • 百度地圖JavaScript API,呼叫API在網頁中顯示百度地圖。

效果圖如下:

C# 程式中嵌入百度地圖

關於調用百度地圖的Html程式碼如下:

 1 <!DOCTYPE html> 
 2 <html> 
 3 <head> 
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 5     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
 6     <style type="text/css"> 
 7     body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";} 
 8     </style> 
 9     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=AKCode需要申请"></script>
 10     <title>地图展示</title>
 11     <script type="text/javascript">
 12         window.onload = function () {
 13             // 百度地图API功能
 14             var map = new BMap.Map("allmap");
 15             var point = new BMap.Point(116.404, 39.915);
 16             map.centerAndZoom(point, 15);
 17             // 编写自定义函数,创建标注
 18             function addMarker(point) {
 19                 var marker = new BMap.Marker(point);
 20                 map.addOverlay(marker);
 21             }
 22             // 随机向地图添加25个标注
 23             var bounds = map.getBounds();
 24             var sw = bounds.getSouthWest();
 25             var ne = bounds.getNorthEast();
 26             var lngSpan = Math.abs(sw.lng - ne.lng);
 27             var latSpan = Math.abs(ne.lat - sw.lat);
 28             for (var i = 0; i < 25; i++) {
 29                 var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
 30                 addMarker(point);
 31             }
 32             //
 33             var top_left_control = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_TOP_LEFT }); // 左上角,添加比例尺
 34             var top_left_navigation = new BMap.NavigationControl();  //左上角,添加默认缩放平移控件
 35             var top_right_navigation = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL }); 
 //右上角,仅包含平移和缩放按钮
 36             map.addControl(top_left_control);
 37             map.addControl(top_left_navigation);
 38             map.addControl(top_right_navigation);    
39         }
40     </script>
41 </head>
42 <body>
43     <div id="allmap"></div>
44 </body>
45 </html>

關於WinForm呼叫H百度的靜態圖介面

    PictureBox VS自帶的圖片容器,表示用於顯示影像的Windows 圖片框控制項。
  • HttpWebRequest,HttpWebResponse 在WinForm中發送/接收 http請求。
  • Thread 為了不讓介面卡死,採用在背景進程中呼叫。
  • 將傳回的位元組流,轉換成Image物件
  • 效果圖如下:
關於在WinFormin程式中呼叫靜態圖記API的程式碼地圖相關功能時,需先申請金鑰(AK),個人開發學習使用手機註冊即可。

以上就是C# 程式中嵌入百度地圖的內容,更多相關內容請關注PHP中文網(www.php.cn)!

C# 程式中嵌入百度地圖

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn