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 컨트롤에서 제거하는 것입니다.
컨트롤러 방법이 맞습니까? 그렇다면 데이터가 반환되는 유형은 무엇입니까? –
은 두 번째 ajax 호출이 표시되는 이미지에서 컨트롤러 방법 –