MFC嵌入百度地图,交互

MFC 接入百度地图

1 第一步首先去百度地图官网申请秘钥http://developer.baidu.com/map申请密匙

2 创建一个对话框mfc 程序

 

3插入浏览器控件 创建类和控件

 

 

 

4 准备百度网页放入项目中

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<style type="text/css">

body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}

#l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}

#r-result{height:100%;width:20%;float:left;}

</style>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你自己申请的密匙"></script>

<title>百度地图的Hello, World</title>

</head>

<body>

<div id="allmap"></div>

</body>

</html>

<script type="text/javascript">

var map = new BMap.Map("allmap");

map.centerAndZoom(new BMap.Point(104.071216,30.666031), 12);

map.enableScrollWheelZoom();                            //启用滚轮放大缩小

map.addControl(new BMap.NavigationControl());

map.addControl(new BMap.OverviewMapControl());

map.addControl(new BMap.ScaleControl());

map.enableScrollWheelZoom();

map.addControl(new BMap.MapTypeControl());

 

var top_left_navigation = new BMap.NavigationControl();  //左上角,加入默认缩放平移控件

 

 

function justmarkfun(JD,WD)

{

    var marker1 = new BMap.Marker(new BMap.Point(JD,WD));  // 创建标注

    window.map.addOverlay(marker1);              // 将标注加入到地图中

}

</script>

5 启动时调用本地页面

 

 

6 网页与本地之间的交互

 

网页调用地图方法

void Cbrower2Dlg::OnBeforenavigate2Explorer1(LPDISPATCH pDisp, VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers, BOOL* Cancel)

{

    //CString strUrl = URL->bstrVal;

    CStringA strUrl(URL->bstrVal);

    if (strstr(strUrl,"addpoint:") != NULL)

    {

        MessageBox(strUrl);

        *Cancel = true;

        return;

    }

 

}

 

 

Mfc 调用网页方法

 

写的比较粗糙,但是基本的功能方法是实现了的,有什么不懂得话,可以私信我

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
MFC 是一个框架,主要用于开发 Windows 桌面应用程序,而 HTML 是一种标记语言,主要用于开发网页。它们本身并没有直接的接口交互方式,但是可以通过一些技术手段来实现交互。 一种常见的方式是使用 WebBrowser 控件,它可以在 MFC 应用程序中嵌入一个 Web 浏览器,从而实现与 HTML 页面的交互。下面是一个简单的示例代码: ``` // 创建 WebBrowser 控件 CWebBrowser webBrowser; webBrowser.Create(NULL, NULL, WS_CHILD | WS_VISIBLE, CRect(0, 0, 800, 600), this, 1); // 加载 HTML 页面 CString url = _T("http://www.example.com"); webBrowser.Navigate(url, NULL, NULL, NULL, NULL); // 获取 HTML 页面中的元素 IHTMLDocument2* pDoc = webBrowser.GetDocument(); if (pDoc) { CString strValue; IHTMLElement* pElement = NULL; pDoc->getElementById(_T("element_id"), &pElement); if (pElement) { BSTR bstrValue; pElement->get_innerHTML(&bstrValue); strValue = bstrValue; SysFreeString(bstrValue); } } ``` 在上面的示例中,我们首先创建了一个 WebBrowser 控件,并加载了一个 HTML 页面。然后通过 `GetDocument` 方法获取页面对应的文档对象,然后通过 `getElementById` 方法获取页面中指定 id 的元素对象,并通过 `get_innerHTML` 方法获取该元素的内容。这样就实现了 MFC 应用程序与 HTML 页面的交互。 当然,这只是一个简单的示例,实际开发中可能会涉及到更复杂的交互操作,需要根据具体需求进行实现。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值