1

さて、私はこのコードを使用して簡単なプログラムをセットアップしました。基本的には、Pythonでマップ上にポイントを設定するだけです。非常に基本的です。問題は、その状態が発生すると、単純なでページが更新されるという状態になっていることQWebView.setHtml()です。私が今やりたいのは、地図の現在のズームと中心の情報を取得して保存する方法を見つけることです。とにかく、JavaScriptにアクセスしてその情報を取得し、保存してから、更新を行う前にこのコードがすでに行っているのと同じ方法でHTMLに書き込むことはできますか?

これが紛らわしい、または広範である場合は申し訳ありませんが、Pythonを使用して地図から情報を取得する方法を考えることはできません。

4

1 に答える 1

1

サーバー(Python)からクライアント側のコードを操作する方法はいくつかあります。クライアントにCookieを設定したり、JavascriptからサーバーにAJAXリクエストを送信したり、フォームを送信したり、WebSocketなどのよりエキゾチックなルートを使用したりできます。これ以上の情報がなければ、どれが最適かわかりません。

どのWebフレームワークを使用していますか?

編集:

ああ、なるほど-スクリプト可能なWebビューを使用しています...多分zoom = view.evaluateJavaScript('map.getZoom();')?ライブラリについて私が見ることができることから、難しい部分はJSのマップ変数への参照を取得することかもしれません。

編集:

これは、pymapを変更または拡張せずに可能だとは思いません。これは、JSでローカルにGMapをスコープし、どこにも公開しないためです。私は要点でそれをしました。次に、上記のようなものでズームにアクセスできます-多分zoom = view.evaluateJavaScript("PyMaps[0].gmap.getZoom();")

編集:

これが明確でない場合-私が含めた要点では、MyPyMapの代わりにを使用する必要がありますPyMap

別のStackOverflowの質問evaluteJavaScriptから、ビューを直接実行することはできないことに気付きました。後続のコードは次のようになります

doc = view.page().mainFrame().documentElement()
zoom_level = doc.evaluateJavaScript("PyMaps[0].gmap.getZoom();")
于 2012-12-28T15:39:52.220 に答える