日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#调用百度地图API经验分享

發(fā)布時間:2023/12/20 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#调用百度地图API经验分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、引言

找了個示例項目,運行了下,然后對照著百度的官方示例(百度地圖開放平臺-首頁鏈接)自己增加了點內(nèi)容。

需要技能為C#,JavaScript,HTML。不會后兩個,復(fù)制粘貼官方demo也能對付著用。

GitHub項目鏈接 https://github.com/landbroken/BaiduMapLearning

先開個坑,有空更新完整版。

二、基礎(chǔ)技能

開發(fā)中可能涉及到的基礎(chǔ)技能:

  • 1、webBrowser控件在C#和HTML中傳值

2.1 webBrowser控件在C#和HTML中傳值

2.1.1 C#至html

以下為示例:

C#中傳遞值給html里的函數(shù)

object[] objects = new object[2]; //當(dāng)前緯度 objects[0] = share_data.CurLat; //當(dāng)前經(jīng)度 objects[1] = share_data.CurLng; //傳值給html中的mapInit函數(shù) webBrowser.Document.InvokeScript("mapInit", objects);

html文件script中對應(yīng)的maptnit函數(shù)

function mapInit(CurLat, CurLng) {

2.1.2 html至C#

html文件script中函數(shù)定義

//獲取測試坐標(biāo) startvar Lng = 116.380960var Lat = 39.913280function GetTestGPS(CurLng, CurLat) {//百度地圖API功能,經(jīng)度,緯度var point = new BMap.Point(CurLng, CurLat);map.centerAndZoom(point, 20);var text="123"window.external.LocateInfo(text);return Lng;}//獲取測試坐標(biāo) end private void btnGetRightClickGPS_Click(object sender, EventArgs e){//116.380967,39.913285object[] objects = new object[2];//當(dāng)前經(jīng)度objects[0] = Convert.ToDouble(textBoxX.Text);//當(dāng)前緯度objects[1] = Convert.ToDouble(textBoxY.Text);//傳值給html中的FindPosition函數(shù)object bb = webBrowser1.Document.InvokeScript("GetTestGPS", objects);}public void LocateInfo(string msg){string get = msg;}

這里使用了兩種方法,方法一是return這一句,返回值賦值給object對象bb 。

return Lng;

方法二是window.external這里,調(diào)用了C#里面的LocateInfo函數(shù),傳遞一個string

window.external.LocateInfo(text);

三、百度地圖簡易調(diào)用

1、添加一個webBrowser控件
2、通過控件載入地圖(需要聯(lián)網(wǎng))

string str_url = Application.StartupPath + "\\IndexMap.html";Uri url = new Uri(str_url);webBrowser1.Url = url;//屏蔽webBrowser瀏覽器右鍵菜單//webBrowser1.IsWebBrowserContextMenuEnabled = false;//修改webbrowser的屬性使c#可以調(diào)用js方法:webBrowser1.ObjectForScripting = this;

3、功能寫在html中,通過C#調(diào)用js方法實現(xiàn),js方法可以從百度的官方demo復(fù)制。例如:

//清除地圖上的標(biāo)記,點擊清除按鈕觸發(fā)private void clearMarker_Click(object sender, EventArgs e){webBrowser1.Document.InvokeScript("ClearAllMarkers"); }

詳見GitHub上完整示例。

參考文獻

1、C#|通過webBrowser控件實現(xiàn)與html間的相互傳值

總結(jié)

以上是生活随笔為你收集整理的C#调用百度地图API经验分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。