2010-01-03 4 views
1

Jquery를 사용하여 googlemap 데이터를 가져 와서 div에로드합니다. 내 googlemap은 usercontrol에있는 MVCMaps 컨트롤에서 가져옵니다. 다음과 같이 내 코드 :Jquery : Ajax로 Google지도를로드하면 빈 화면이 표시됩니다.

$.get('<%= Url.Action("GetMapHtml", "Post") %>', function(data) { 
    $('#MapWndCont').html(data); 
}); 

내 컨트롤러있어서

public ActionResult GetMapHtml() 
{ 
    return PartialView("MapHtml", null); 
} 

AJAX 호출이 완료 이하 (정확한되는 바와 같이 데이터가 수신되고, 정적 도시 적절히 때 나타난다 후 : 그 후

<h3>Google Map</h3> 
<div id="divG4158336" class="GoogleMap"></div><script type='text/javascript' src='/WebResource.axd?d=rgm3O6ZOAFRTPnYXcBL7BZMf7PKdndsbCMbyc33Gins1&t=633980535391370000'></script> 
<script type='text/javascript' src='http://maps.google.com/maps?file=api&v=2&key=abcdefg&sensor=false'></script> 
<script type='text/javascript' src='/WebResource.axd?d=rgm3O6ZOAFRTPnYXcBL7BbNjHCL588M7IBh7laWKeqs1&t=633980535391370000'></script> 
<script type='text/javascript'> 
var G4158336 = null;$(function(){G4158336=new MvcMaps.GoogleMap('divG4158336',{id:'G4158336',lat:39.9097362345372,lng:-97.470703125,zoom:4,maptype:G_NORMAL_MAP});});</script> 

수신하고 #MapWndCont 용기 내부에 배치되고 다음이 발생.

alt text http://img22.imageshack.us/img22/1810/errordn.png

Google지도에서로드 된 스크립트로 이루어진 GET 요청은 2 개 더 있습니다. 그들이 해고되는 순간, 내 페이지가 공백으로 나타나고 전혀 아무 것도 나타나지 않습니다. 본문 요소도 제거됩니다. 이미지에서 두 번째 아약스 호출을 볼 수 있습니다. 그 후 전체 페이지가 html과 스크립트로 삭제됩니다. 따라서 호출 후 스크립트가 실행되고 찾을 수 없습니다.

모든 문제를 해결하고 Google지도를 동적으로로드하는 데 도움이됩니다.

감사합니다,

편집 : 나는 Freenode의에 #JQuery 채팅에 BinaryKitten에 의해 말되었다. document.ready()가 ajax 호출의 데이터에있었습니다. 이제 내 문제는 MVCMAPS 컨트롤에서 제거하는 것입니다.

+0

컨트롤러 방법이 맞습니까? 그렇다면 데이터가 반환되는 유형은 무엇입니까? –

+0

은 두 번째 ajax 호출이 표시되는 이미지에서 컨트롤러 방법 –

답변

0

문제를 해결하는 한 가지 방법은 Javascript를 사용하지 않는 Google지도 버전을 사용하는 것입니다. (정적 API)

1

분명히 확실하지는 않지만 JavaScript 콘솔은 $이 정의되어 있지 않다는 불평을하는 것 같습니다.

페이지에 jQuery가 포함되어 있습니까? 예 : $('body')이 콘솔에서 작동합니까?

+0

으로 업데이트되었습니다. 그 후 전체 페이지가 html과 스크립트로 삭제됩니다. 따라서 호출 후 스크립트가 실행되고 찾을 수 없습니다. –

관련 문제