谷歌地图没有出现

Google map is not appearing

本文关键字:谷歌地图      更新时间:2023-09-26

谷歌地图未显示。我认为问题在于数据类型的迟和长。代码如下:当提供lat long的硬编码值时,所有函数都能正常工作。

function initialize(a, b, zoom) {
    alert('init called  ' + "lat: " + typeof a + "long: " + typeof b + "zoom: " + typeof zoom);
    //here lat long are string and zoom is number 
    //var zoom =parseInt(zoom);
    var a = parseFloat(a);
    var b = parseFloat(b);
    alert('init called  ' + "lat: " + typeof a + "long: " + typeof b + "zoom: " + typeof zoom);
    //here lat oang and zoom all are number
    var centerLoc = new google.maps.LatLng(a, b);
    var mapProp = {
        center: centerLoc,
        zoom: zoom,
        //   mapTypeId:google.maps.MapTypeId.ROADMAP,
        mapTypeId: google.maps.MapTypeId.SATELLITE
    };
    var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    marker = new google.maps.Marker({
        position: centerLoc,
        title: 'Click to zoom'
    });
    google.maps.event.addListener(marker, 'click', function () {
        map.setZoom(map.getZoom() + 1);
        map.setCenter(marker.getPosition());
    });
    marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>

这里是html:

<html>
<body>
<div id="googleMap" style="width:1000px;height:500px;"></div>
</body>
</html>

你的代码对我来说很好。唯一的问题是你不能这样做:

google.maps.event.addDomListener(window, 'load', initialize);

因为你不能给这样调用的函数传递参数。如果在body标签中使用它作为onload函数,它可以工作:

<body onload="initialize(-33.8665433, 151.1956316,5)">
工作示例