我有一个C#Web应用程序(asp.net Web窗体),其中Default.aspx页的以下内容是母版页的一部分。但是,谷歌地图从不加载,实际上它会闪烁一次。但是,如果我将当前位于Content2内的确切代码放置在.HTML文件中,则地图加载就很好了。
我按F12键,控制台上没有错误。为什么会这样呢?
Default.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=geometry"></script>
<button onclick="initMap()">Load map</button><br/>
<br /><div id="map" style="width:500px; height: 500px;"></div>
<script type="text/javascript">
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: new google.maps.LatLng(25.764116354703514, -80.19015369262695)
});
//Dragable Marker
var marker0 = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(25.764116354703514, -80.19015369262695),
draggable: true
});
}
</script>
</asp:Content>
单击“加载地图”按钮后输出的屏幕截图:
最佳答案
您有一个形式类似于提交按钮的按钮,这将导致页面刷新。如果未为按钮指定类型,则默认为submit
按钮,这将导致表单提交并重新加载页面。
将您的按钮标记更改为:
<button type="button" onclick="initMap()">Load map</button>
关于javascript - 无法加载ASP.NET中的Google Maps,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35466363/