我正在尝试将简单的Google地图添加到我的网页内容表单(使用母版页),但没有任何显示,我没有收到任何明显的错误
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="ShelterMap.aspx.cs" Inherits="ShelterExpress.ShelterMap" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
#map_canvas { height: 100% }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js "></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="map_canvas" style="width:100%; height:100%"></div>
<script type="text/javascript">
$(document).ready(function() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
});
</script>
</asp:Content>
答案 0 :(得分:7)
您需要设置宽度和高度明确度,而不是100%。
删除<style></style>
代码,然后设置<div id="map_canvas" style="width: 300px; height: 300px">
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js "></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="map_canvas" style="width: 300px; height: 300px">
</div>
<script type="text/javascript">
$(document).ready(function () {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
});
</script>
</asp:Content>
答案 1 :(得分:2)
地图正在加载但是一旦加载就有一个0px高度div因为(没有看到因为你没有发布母版页代码)我想你没有将html body标签设置为100%高度为以及html标签。
它变得混乱,无法计算出自己的高度,因此你最终得到的地图应该是零高度div。
尝试将#map_canvas设置为具有固定高度(例如600px)或同时制作身体和放大器。 html属性也有100%高度的css规则。
应该解决问题。
答案 2 :(得分:1)
<div id="map_canvas" style="position:absolute;top:0;bottom:0;left:0;right:0;">
</div>