隐藏后,Google Maps API v3覆盖不会重新出现

时间:2012-07-12 11:10:44

标签: google-maps google-maps-api-3 google-maps-markers

我读了很多例子。他们都提到隐藏覆盖

overlay.setMap(null);

工作正常。但是在隐藏它之后再次显示它虽然会在初始化期间显示但不起作用。所有例子都告诉我使用

overlay.setMap(map);

但叠加层不会再出现?!有什么问题?

请参阅http://jsbin.com/oworor/3/edit

上的代码

MJ

1 个答案:

答案 0 :(得分:1)

“map”变量是mapInitialize函数的本地变量,更改:

        function mapInitialize() {
            var myLatlng = new google.maps.LatLng(47.72, 13.48);
            var myOptions = {
                zoom: 13,
                center: myLatlng,
                mapTypeId: google.maps.MapTypeId.TERRAIN
            }
            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

为:

        function mapInitialize() {
            var myLatlng = new google.maps.LatLng(47.72, 13.48);
            var myOptions = {
                zoom: 13,
                center: myLatlng,
                mapTypeId: google.maps.MapTypeId.TERRAIN
            }
            map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);