2012-12-28 3 views
1

좋아, 그래서 간단한 프로그램을 설치하려면 this 코드를 사용했습니다. 기본적으로 파이썬에서지도에 점을 설정합니다. 아주 기본. 문제는 이제 그 조건이 발생했을 때 간단한 QWebView.setHtml() 페이지를 새로 고치는 조건이 있습니다. 지금하고 싶은 일은지도의 현재 확대/축소 및 중앙 정보를 가져 와서 저장하는 방법을 찾는 것입니다. 어쨌든 자바 스크립트에 들어가서 정보를 저장하고, 저장 한 다음 새로 고침을하기 전에 이미이 코드와 동일한 방식으로 HTML에 기록하십시오.PyMaps : Python에서 javascript와 상호 작용하는 방법

죄송합니다. 혼란 스럽거나 광범위하다면, 파이썬을 사용하여지도에서 정보를 얻는 방법을 생각할 수 없습니다.

답변

1

서버 (파이썬)의 클라이언트 측 코드와 상호 작용하는 데는 여러 가지 방법이 있습니다. 클라이언트에서 쿠키를 설정하거나, 자바 스크립트에서 서버로 AJAX 요청을 보내거나, 양식을 제출하거나, WebSockets과 같은 좀 더 이국적인 경로로 이동할 수 있습니다. 더 많은 정보가 없으면 어떤 것이 최선인지 알려주지 못할 것입니다.

어떤 웹 프레임 워크를 사용하고 있습니까?

편집 :

아, 나는 당신이 스크립트 웹보기 ... zoom = view.evaluateJavaScript('map.getZoom();') 같은 아마 뭔가를 사용하고 비칩니다? 내가 도서관에서 볼 수있는 것부터, 어려운 부분은 JS의 map 변수에 대한 참조를 얻는 것일 수 있습니다.

편집 : 나는 그것이 JS에서 로컬 GMAP 스코프 어디서나 노출시키지 않기 때문에이, 수정 또는 pymaps을 확장하지 않고 가능하다고 생각하지 않습니다

. 나는 gist에서 그 일을했습니다. 그런 다음 위에 나온 것과 비슷한 것으로 확대/축소에 액세스 할 수 있습니다. zoom = view.evaluateJavaScript("PyMaps[0].gmap.getZoom();") 일 수 있습니다.

편집 :이 내가 포함 요점을 clear-되지 않은 경우

MyPyMap 대신 PyMap 사용해야합니다.

다른 StackOverflow question에서 나는 evaluteJavaScript을 직접 볼 수 없음을 깨달았습니다. 후속 코드는 다음과 같이 보입니다.

doc = view.page().mainFrame().documentElement() 
zoom_level = doc.evaluateJavaScript("PyMaps[0].gmap.getZoom();") 
+0

이것은 웹 응용 프로그램이 아닙니다. 그것은 파이썬 데스크탑 응용 프로그램입니다. 나는 단지 JavaScript를 지원하기 때문에 QWebView를 사용하여 Google지도를 표시하고 있으며 이것은 파이썬 창에서 웹 페이지를 표시하는 방법을 알고있는 유일한 방법입니다. – LiverpoolFTW

+0

죄송합니다! 그냥 잡았어. –

+1

@LiverpoolFTW 마지막 편집이 도움이되는지 알려주세요! –

관련 문제