我无法使用地理编码和 clientscript.registerstartupscript 让我的谷歌地图正常工作。我知道我的 google javascript 很好(在其他页面上使用),它甚至没有点击它。我在网站的其他地方有这个功能,但不知道为什么它不起作用!非常沮丧!请参阅下面的代码:
.aspx:
<script>
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
codeAddress();
}
function codeAddress() {
var address = document.getElementById('address').value;
geocoder.geocode({ 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body onload="initialize()">
.aspx.cs:
ClientScript.RegisterStartupScript(this.GetType(), "script1",
"codeAddress();");
地图必须初始化,因为它显示了空的谷歌地图外壳,但它没有填充。
Firebug 在页面底部显示:
<script type="text/javascript">
codeAddress();
</script>