Карта Google не будет отображаться на главной странице ASP.NET - PullRequest
3 голосов
/ 20 сентября 2011

Я пытаюсь отобразить простую карту на странице ASP.NET с мастер-страницей.Все работает нормально, когда я помещаю код в статическую HTML-страницу, но при использовании asp.net ничего не отображается, даже ошибка.Сравнивая запрос / ответ в fiddler, я вижу, что Google не отправляет никаких изображений обратно при использовании главной страницы asp.net.

Вот мой код на стороне клиента (здесь я могу достичь точки останова):

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100%; background-color:#eeeeee;}
    </style>

    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
        function initialize() {
            var latlng = new google.maps.LatLng(-34.397, 150.644);
            var myOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var mapDiv = document.getElementById("map_canvas");
            var map = new google.maps.Map(mapDiv, myOptions);
                }

    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <div id="map_canvas" style="width:100%; height:100%"></div>
</asp:Content>

Я вызываю скрипт с сервера:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim mybodytag As HtmlGenericControl
mybodytag = Page.Master.FindControl("mainbody")
mybodytag.Attributes.Add("onload", "initialize()")
End Sub

1 Ответ

4 голосов
/ 21 сентября 2011

Нашел решение. Я изменил div% на фиксированный размер px, и это сработало:

<div id="map_canvas" style="width:800px; height:600px"></div>
...