2014-10-20 41 views
0

我的項目中有一個關於谷歌地圖的問題。當我使用ajax調用來顯示地圖時,它沒有出現。當我不使用ajax時,它正常工作。我不知道Map加載中是否存在同步問題。 請任何幫助。這是我的代碼的一部分:在Asp.net中使用ajax調用顯示google地圖

Ajax調用:

<script type="text/javascript"> 
$("#ModifPlanRoute").dialog("close"); 
$.ajax({ 
    url: '/Agent/displayMAP/', 
    type: 'GET', 
    success: function (result) { 
     $('#ListeAgent2').html(result); 
    } 
});   
</script> 

看法,我想顯示的地圖:

@model IEnumerable<PFE.Models.ptVente> 

@{ 
ViewBag.Title = "MapPtVente"; 
} 

<script type="text/javascript"> 
var waypoints = []; 
    </script> 


<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

@foreach (var item in Model){ 
    <script type="text/javascript"> 
     var lat = '@Html.DisplayFor(modelItem => item.latitude)'.replace(",", "."); 
     var lng = '@Html.DisplayFor(modelItem => item.longitude)'.replace(",", "."); 

     stop = new google.maps.LatLng(lat, lng); 
     waypoints.push({ 
      location: stop, 
      stopover: true 
     }); 

    </script> 
} 

    <script type="text/javascript"> 
var map; 
var directionDisplay; 
var directionsService = new google.maps.DirectionsService(); 

function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer(); 
    var latlng = new google.maps.LatLng(36.68447108872107, 10.181236267089844); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById("map2"), 
     myOptions); 
    directionsDisplay.setMap(map); 

    var origin = new google.maps.LatLng(36.85142615835436, 10.147939324378967); 
    var destination = new google.maps.LatLng(36.85142615835436, 10.147939324378967); 

    var request = { 
    origin: origin, 
    destination: destination,   
    waypoints: waypoints, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING, 
    optimizeWaypoints: true, 
    avoidHighways: true, 
    avoidTolls: true 
    }; 

    directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
    directionsDisplay.setDirections(response); 
    } 
    }); 

    } 

google.maps.event.addDomListener(window, "load", initialize); 

</script> 

<div id="map2" style="width:500px;height:500px;"></div> 

回答

1

的問題是要通過AJAX請求的頁面中包含的JavaScript碼。您無法以這種方式動態添加需要執行的JavaScript代碼。當您通過AJAX請求頁面時,您將獲取HTML和JavaScript,但JavaScript未被執行。