我在ASP .Net中的页面加载中将邮政编码显示到标签中。
标签显示邮政编码。我现在想用这个邮政编码加载谷歌地图,所以有这个代码
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: 55.0906551, lng: -1.6654200}
});
var geocoder = new google.maps.Geocoder();
var address = document.getElementById('<%=LabelPc.ClientID %>').value;
geocoder.geocode({'address': address}, function(results, status) {
if (status === 'OK') {
resultsMap.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: resultsMap,
position: results[0].geometry.location
});
} else {
alert('Error: ' + status);
}
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=my_API&callback=initMap">
</script>
页面加载时会显示错误框。当我使用F12调试Chrome中的代码时,反对
var address = document.getElementById('<%=LabelPc.ClientID %>').value;
设置为 undefinded ,我已尝试使用查看源中的名称,但仍然会出现相同的错误。我试过用#代替=但是同样的问题仍然存在。
认为这可能是由于页面未加载而我尝试$(document).ready(function ()
但是再次没有用。不知道我哪里出错了?
编辑1
<asp:Label ID="LabelPc" runat="server">
<div id="map"></div>