【发布时间】:2014-02-05 20:44:59
【问题描述】:
我打算通过QWebView 在Qt 应用程序中使用gmaps。用户应该能够导航地图上的任何地方。然后点击一个按钮,应用程序将地图中心的纬度和经度存储到一个文件中。
如何从 webview 中的地图获取地理位置到 C++ 端?
【问题讨论】:
标签: c++ qt google-maps
我打算通过QWebView 在Qt 应用程序中使用gmaps。用户应该能够导航地图上的任何地方。然后点击一个按钮,应用程序将地图中心的纬度和经度存储到一个文件中。
如何从 webview 中的地图获取地理位置到 C++ 端?
【问题讨论】:
标签: c++ qt google-maps
假设您已经设置了一个包含 gmaps 地图和 QPushButton 的 QWebView 以便能够检索地图中心的纬度,您可以执行以下操作:
将按钮的 clicked() 信号与插槽连接,即 void getMapCenter(); 假设 gmaps 的地图 div 是#map,代码如下所示:
void MainWindow::getMapCenter(){
QVariant lat = ui->webView->page()->mainFrame()->evaluateJavaScript("map.map.center.d");
QVariant lon = ui->webView->page()->mainFrame()->evaluateJavaScript("map.map.center.e");
//Test
qDebug() << "latitude:" << lat.toString() << "longitude:" << lon.toString();
//do some processing here with lat and lon
}
【讨论】:
d 代表经度,e 代表纬度。对吗?