Qt5.1.1实现调用google地图显示
1.调用google地图工程文件
QT +=webkit
QT +=webkitwidgets
QT += core gui greaterThan(QT_MAJOR_VERSION, ): QT += widgets TARGET = googlemap
TEMPLATE = app SOURCES += main.cpp\
mainwindow.cpp HEADERS += mainwindow.h
FORMS += mainwindow.ui RESOURCES += \
google.qrc
2.mainwindow头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include<QMainWindow>
#include<QtWebKit>
#include<QtWebKitWidgets/QtWebKitWidgets>
#include<QtWebKitWidgets/QWebView>
#include<QFile>
#include<QMessageBox>
#include<QTextStream>
#include<QtWebKitWidgets/QWebFrame> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
~MainWindow(); private slots: void on_webView_loadFinished(bool arg1); private: Ui::MainWindow *ui;
QString buf;
QString s_longitude;
QString s_latitude; }; #endif // MAINWINDOW_H
3 mianwindow源文件
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); s_longitude = "23.2706716"; s_latitude = "113.2931106"; QFile file("E:/QtCreator/Qt5.1.1/Qtlianxi/googlemap/google.html"); if (! file.open(QIODevice::ReadOnly)) {//进行判断 QMessageBox::information(NULL, QObject::tr("Unable to open file"), file.errorString()); } ui->webView->settings()->setAttribute(QWebSettings::PluginsEnabled, true); ui->webView->settings()->setAttribute(QWebSettings::JavascriptEnabled, true); ui->webView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); ui->webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); ui->webView->settings()->setAttribute(QWebSettings::JavaEnabled, true); QTextStream out(&file); QString output_file = out.readAll(); ui->webView->setHtml(output_file);//显示网页内容 } MainWindow::~MainWindow() {delete ui;} void MainWindow::on_webView_loadFinished(bool arg1) { QWebFrame *qframe = ui->webView->page()->mainFrame(); float longitude = s_longitude.toFloat(); float latitude = s_latitude.toFloat(); buf = QString("Open(%1, %2, %3);").arg(longitude).arg(latitude).arg(QString("\"center\"")); qframe->evaluateJavaScript(buf); ui->label->setText(s_longitude); ui->label_2->setText(s_latitude);
}
4.mianwindow的ui文件
5.html文件
<!DOCTYPE html> <html> <head> <title>Google Maps JavaScript API v3 Example: Map Simple</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta charset="UTF-8"> <style type="text/css"> html, body, #map_canvas { margin: ; padding: ; height: %; } </style> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var map; function initialize() { var myOptions = { zoom: , center: new google.maps.LatLng(23.271016, 113.295088), mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); Open(x,y,"center"); } function Open (x,y, text) { var myLatlng = new google.maps.LatLng(x,y); map.setCenter (myLatlng, ); var marker = new google.maps.Marker({ position: myLatlng, title:text }); marker.setMap(map); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map_canvas"></div> </body> </html>
6.出现的问题
有时候能够正常显示地图,再不改变任何的情况下有时候有不能显示出地图
Qt5.1.1实现调用google地图显示的更多相关文章
- 怎样用Google APIs和Google的应用系统进行集成(3)----调用Google 发现(Discovery)API的RESTful服务
说了这么多,那么首先同意我以Google Discovery RESTful服务为例,给大家演示怎样用最普通的Java代码调用Google Discovery RESTful服务. 引言: 在&quo ...
- arcgis jsapi 调用google地区服务
做地理信息系统(GIS)项目,除了实现功能用户体验度要好之外,最重要的是地图渲染效果更要好.很多时候苦于数据的完整性和对于配图的审美观,程序猿们都很难配出好看的地图效果.基于上述一般直接调用googl ...
- Python调用Google翻译
出自:http://blog.csdn.net/zhaoyl03/article/details/8830806 最近想动手做一个文档自动下载器,需要模拟浏览器的行为.虽然感觉思路上没有困难,但在技术 ...
- c#两种方式调用google地球,调用COM API以及调用GEPLUGIN 与js交互,加载kml文件,dae文件。将二维高德地图覆盖到到三维谷歌地球表面。
网络上资源很多不全面,自己在开发的时候走了不少弯路,在这里整理了最全面的google全套开发,COM交互,web端交互.封装好了各种模块功能. 直接就可以调用. 第一种方式:调用COMAPI实现调用g ...
- QT5.3无法自动调用incomingConnection函数的问题(4.7没有这个问题)
最近将qt4.7的一个工程移到5.3,遇到了几个麻烦事,主要是这个incomingConnection监听后无法自动调用的问题,在4.7上是完全没有问题的,到了5.3就不行,网上也查了下,网友们都是放 ...
- QT5.3无法自动调用incomingConnection函数的问题
最近将qt4.7的一个工程移到5.3,遇到了几个麻烦事,主要是这个incomingConnection监听后无法自动调用的问题,在4.7上是完全没有问题的,到了5.3就不行,网上也查了下,网友们都是放 ...
- Delphi XE5 Android 调用 Google ZXing
{ Google ZXing Call demo Delphi Version: Delphi XE5 Version 19.0.13476.4176 By: flcop(zylove619@hotm ...
- Excel催化剂开源第28波-调用Google规划求解库
在Excel催化剂的自定义函数中,有规划求解的函数,用于在一些凑数的场景,某财务工作网友向我提出的需求,例如用于凑发票额使用. 一般开发票的场景是多次采购合在一起开具,即多个订单产生后开,同时发票一般 ...
- 如何调用Google地图?
在建设网站中用到地图是很常见的,在国内大部分都是用百度地图,但是有时候可能会用到国外地址,这时候就只能使用谷歌地图了. 方法一.使用框架引入谷歌地图 用框架引入谷歌地址是最简单的方法,不是专业开发人员 ...
随机推荐
- HDU 5525 Product 数论
题意: 给出一个长度为\(n(1 \leq n \leq 10^5)\)的序列\(A_i\),\(N=\prod\limits_{i=1}^{n}i^{A_i}\).求\(N\)的所有约数的乘积. 分 ...
- django_orm操作
查询操作和性能优化 1.基本操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 增 models.Tb1.object ...
- 百度地图的API接口----多地址查询和经纬度
最近看了百度地图的API的接口,正想自己做点小东西,主要是多地址查询和经纬度坐标跟踪, 下面的代码直接另存为html就可以了,目前测试Chrome和360浏览器可以正常使用. <!DOCTYPE ...
- luogu2153 [SDOI2009]晨跑
要想限制流量,总要想着拆点. #include <iostream> #include <cstring> #include <cstdio> #include & ...
- 为什么要使用数据库连接池?以及用法(DBUtils)
看代码, from flask import Flask from db import POOL import pymysql app = Flask(__name__) app.secret_key ...
- 排序算法总结 c描述
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大, ...
- [UnicodeEncodeError]:Django中解决URL中文解释乱码问题
Django中在使用HttpResponseRedirect的时候,跳转URL中如果存在中文,会报错:会报UnicodeEncodeError错误. 解决办法: 使用urlquote对URL进行编码 ...
- [LOJ#530]「LibreOJ β Round #5」最小倍数
[LOJ#530]「LibreOJ β Round #5」最小倍数 试题描述 第二天,LCR 终于启动了备份存储器,准备上传数据时,却没有找到熟悉的文件资源,取而代之的是而屏幕上显示的一段话: 您的文 ...
- BZOJ 3489 A simple rmq problem ——KD-Tree
考前写写板子. 用$(i,pre[i],nxt[i])$来描述一个点,然后就变成了区间求最值的问题. KD-Tree 由低维转向高维的方法,可以用来敲暴力. 剩下就是KD-Tree的基本操作了. #i ...
- javaweb之Filter详解
一.概念:Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或 ...