Я работаю над приложением asp.net mvc3.Google map не отображается с частичным видом
Я пытаюсь загрузить карту Google внутри частичный вид, но он не работает:
Мой частичный вид _Map.cshtml
<style type="text/css">
#map_canvas
{
position:absolute;
top:40px;
left:12px;
width:576px;
height: 450px;
}
</style>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div class="sTitle">Name</div>
<div id="map_canvas"></div>
<script type="text/javascript">
var map;
$(document).ready(function() {
var map;
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
google.maps.event.addDomListener(window, 'load', initialize);
});
</script>
Карта загружается через вызов AJAX:
$.ajax({
type: 'GET',
url: '@Url.Action("GetMapById", "Map")',
data: { 'id': sId },
success: function (html) {
$("#content").html(html);
},
complete: function() {
},
error: function() {
alert("There was an error opening the Map. Please try again or contact an administrator");
}
});
парциальное загружается в DIV с именем Content
И кондитер troller Я только что вернул Partial View
return PartialView("_Map");
Вид загружается, но карта не отображается.
Я использовал Firebug для отслеживания проблемы и я получил эту ошибку:
“google is not defined”
Любая идея о проблеме?
Большое спасибо
Я столкнулся с той же проблемой. Я не хочу загружать карту на страницу макета, потому что это, очевидно, приведет к задержке загрузки остальной части сайта, по какой-то причине сценарий карты займет много времени для загрузки. Какое еще решение этой проблемы существует? – pookie