C++ 写的地图控件,支持google 百度 在线离线地图

 C++处理google  百度地图在网上查阅了很多都是通过浏览器方式显示地图信息, 跟我目前项目很不符合,

所以仔细研究了一下C++方式显示地图。通过地图投影以及墨卡托投影,在通过平面地图计算经纬度。

最终今天终于搞定的初步功能,鼠标移动位置显示经纬度。切换Zoom  选择地图信息。 

再也不用为C++调用浏览器控件不方便等因素发愁了。 每天进步一点点。 

 

 

  放上部分代码:

//墨卡托坐标转像素坐标
void MercatorToPixel(DOUBLE pdX, DOUBLE pdY, int piZoom, DOUBLE* pdPixelPoint)
{
DOUBLE pixelX = floor(pdX * pow(2, piZoom - 18));
DOUBLE pixelY = floor(pdY * pow(2, piZoom - 18));
pdPixelPoint[0] = pixelX;
pdPixelPoint[1] = pixelY;
}

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
MFC是Microsoft Foundation Classes的缩,它为C++程序员提供了用于创建Windows桌面应用程序的一组类库。离线谷歌地图是指离线状态下使用谷歌地图的功能。 要在MFC中调用离线谷歌地图,可以遵循以下步骤: 1. 下载谷歌地图:首先,需要从谷歌地图官方网站下载所需的离线地图数据。这些数据通常以地图切片(Map Tiles)的形式提供,可以存储在本地文件夹中。 2. 导入MFC库并创建窗口:在MFC应用程序中,需要导入相关的MFC库文件,并创建一个用于显示地图的窗口。 3. 加载离线地图数据:在窗口的OnCreate函数中,通过使用MFC的文件操作函数,可以读取之前下载的离线地图数据,并加载到程序中。 4. 显示地图:在MFC窗口中,可以使用相关的件(如静态文本框或自定义绘图)来显示地图。根据离线地图数据的格式,可以解析并显示对应的地图切片。 5. 增加交互功能:在地图显示的基础上,可以通过添加相应的事件处理函数,实现地图的浏览、缩放、标记等交互功能。可以使用MFC提供的相关鼠标和键盘事件函数,或者使用第三方库来处理交互操作。 需要注意的是,由于谷歌地图是商业产品,所以在使用离线地图数据时需要遵守相关的许可协议和政策。此外,离线地图的使用也需要考虑到地图数据的更新和存储管理等问题。以上是一种较为简单的实现方式,具体的实现方式可能因应用程序的需求和环境而异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值