2012-03-01 4 views
2

웹 브라우저를 통해 Google지도에서 주소를 조회 할 수있는 VB.NET을 사용하여 Windows Forms 응용 프로그램을 개발 중입니다. 또한 사용자에게 두 지점 사이의 경로를 성공적으로 보여줄뿐만 아니라 사용자가 원하는 경로를 끌 수 있습니다. 내 질문은 이제 경로의 위도/경도 정보를 가져올 수 있는지, 즉 인코딩 된 위도/경도 포인트의 overview_polyline 배열을 가져 와서 예를 들어 저장합니다. 내 컴퓨터의 텍스트 파일? 또는 경로의 전체 길이에 걸쳐 경로의 양쪽에있는 모든 주소의 목록을 가져온 다음 내 컴퓨터의 파일에 데이터를 저장할 수 있습니까? HTML 파일을 사용하여 웹 브라우저 항목에 Google지도 데이터에 액세스하고 표시합니다. Google지도 경로의 모든 주소 정보 검색

은 그냥 화면 좌표를 찾는 경우가 실제로 매우 간단하다 당신

+0

안녕하세요, 저는 Google지도 전문가가 아니지만 웹 브라우저 제어 전문가입니다. 질문을 웹 브라우저 제어 측면에서 이해할 수 있다면 대답 할 수 있습니다. 여기서 당신이 찾고자하는 정보가 어디에 있는지 말해주십시오. 예를 들어, 어떤 요소 등, 여기에 붙이는 것이 좋으며, 그 요소로부터 정보를 수집하는 방법을 알려줄 수 있습니다. 이것이 의미가 있습니까? –

+0

안녕하세요, 저는 웹 브라우저 컨트롤 개발에 익숙합니다. 아마도 내가 다른 도움을 줄 수있는 또 다른 질문을 할 수 있습니다. Google지도로드가 있으면 사용자가지도의 아무 곳이나 클릭하여 좌표를 표시하고 표시 할 수 있습니다. 해당 좌표를 문자열 형식으로 가져 와서 사용자 컴퓨터에있는 텍스트 파일에 쓸 수있는 방법이 있습니까? – user1145581

+0

나는 좋은 질문이기 때문에, 아래에 대한 답변을 제공하고 질문을 upvoted :). –

답변

0

감사드립니다.

// this probably should be in your form initialization 
this.MouseClick += new MouseEventHandler(MouseClickEvent); 


    void MouseClickEvent(object sender, MouseEventArgs e) 
    { 
     // do whatever you need with e.Location 
    } 

당신이 엄격 브라우저에서 지점을 찾고 있다면, 당신은 당신이 당신의 형태가 정확히 어디에 (의를 쉽게 얻을 수 알고있는 경우

browser.PointToClient(); 
browser.PointToScreen(); 

그래서,이 방법을 사용할 수있는 기능을 고려할 필요가 coords) 그리고 당신이 webbrowser 컨트롤을 어디에 (쉽게 그것의 형태로 컨트롤이기 때문에 이것의 coords를 얻는 것이 쉽다.) 그리고, 당신이 얼마나 많은 픽셀을 왼쪽 또는 오른쪽에서, 그리고 위 또는 아래에서 알 수있는 한 이미지가 표시됩니다. 일단 전역 마우스 클릭 좌표 (쉽게 알 수 있음)를 얻으면 이미지에서 클릭 한 위치를 예측할 수 있습니다.

는 다른 방법으로,

당신은 웹 브라우저에서이 작업을 수행하는 코드를 포함하는 ObjectForScripting 속성을 사용할 수 있습니다 ... 여기에 그것을 할 몇 가지 무서운 또는 추악한 방법이 있습니다. 최소한을 말하는 것은 추한 것입니다. MSDN에는이 과정에 대한 몇 가지 문서가 있습니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting.aspx

정말 못 생기고 더 나은 해결책은 AxWebBrowser를 사용하는 것입니다. 너무 추해 보이지만 무서운 것은 아닙니다.

또한 나는이 문서를 pdf 문서에서 수행하려는 사람의 게시물을 발견했으며 MSFT 사람은 불가능하다고 말했지만 실제로 그가 말하고자하는 것은 그것이 내장되어 있지 않다는 것입니다. pdf 문서는 내가 설명한 첫 번째 방법을 사용하면 클릭 한 곳에서 높은 정확도로 예측할 수 있습니다. 어쨌든 게시물은 다음과 같습니다. http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/2c41b74a-d140-4533-9009-9fcb382dcb60

그러나 가능하고 몇 가지 방법이 있으므로 마지막으로 준 링크에서 겁 먹지 마십시오. 당신은 자바 스크립트를 수행하려는 경우

또한,이 게시물이 도움이 될 수 있습니다 : 기본적으로 http://www.devx.com/tips/Tip/29285

, 당신은 웹 브라우저 컨트롤에서 사용할 수있는 방법을 통해 이미지에 속성을 추가 할 수 있습니다, 당신의 onclick 같은 것을 추가 할 수 있습니다 = "GetCoords();" 그래서 클릭하면 자바 스크립트 함수가 좌표를 얻습니다. 자바 스크립트를 사용하여 웹 브라우저 컨트롤을 통해 추가 할 수있는 숨겨진 입력 필드 (입력 유형 = "숨김")에 값을 배치 할 수 있습니다. 하나는 이미 페이지에, 당신은 그것을 사용할 수 있습니다. 해당 입력 필드에 javacript 사용하여 좌표를 배치하면 그래서, 당신은 쉽게 웹 브라우저 컨트롤을 사용한다는 점에서 가치를 잡을 수 있고, 예를 들면 : 당신이 설정 한 해당 필드의 값을 얻을 것이다

webbrowser1.document.getElementById("myHiddenInputField").value 

자바 스크립트를 통해.또한, 언급 한 "GetCoords()"함수는 위에 제공된 javascript 메서드 링크 (devx.com 사이트)에서 SetValues ​​()라고 불리 웠습니다. 그러나 GetCoords라는 이름은 더 이해하기 쉽고 혼동하지 않기 때문에 이름을지었습니다 그들이 사용한 실제 이름으로, 당신은 물론 당신이 원하는 모든 이름으로 변경할 수 있습니다. 여기에 그들이 사용하고 있던 자바 스크립트가 있습니다. 이것은 변수로 좌표를 가져오고, 숨겨진 입력 필드에 넣지 않습니다. (자바 스크립트 SetValues ​​/ GetCoords 함수의 끝 부분에서) 추가 작업을 수행해야합니다.

function SetValues() 
{ 
var s = 'X=' + window.event.clientX + ' Y=' + window.event.clientY ; 
document.getElementById('divCoord').innerText = s; 
} 

이 사람들은 단지 사용자가 볼 수있는 div 요소 내부에 그것을 저장하는,하지만 당신은 사업부 필드를 사용하려는 경우 사업부가 보이지 않는 만들 수없는 장점 또는 단점은 그 일에 없다, javascript 나 css를 사용하여 visible 속성을 false로 설정해야하지만, 숨겨진 입력 필드를 사용하는 것이 더 쉽습니다. 그래서 그 중 아무 것도 사용하지 않아도됩니다.

어떻게 지내세요.

+0

조언 해 주신 덕분에 많은 도움이되었습니다. – user1145581

+0

@ user1145581 감사합니다. –