谷歌地图触发事件无法正常工作

时间:2013-01-15 13:20:49

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

我已经实施了谷歌地图事件触发器。但是似乎没有事件被触发/调用。所以我在代码上面添加了函数initialize,因为glob var位于另一个文件中。但是,出现新问题,标签消失了。

几个问题:1)全局变量是否正确添加? 2)我是否必须将google.maps.event添加到标签构造函数中? 3)我尝试了很多,但地图似乎仍然破碎。对此有何解决方案?

 ?>        
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
    <script type="text/javascript">

    var map;
    function initialize() {
        var latLng = new google.maps.LatLng(<?php echo $geo_latitude;?>, <?php echo $geo_longitude;?>);
        Demo.map = new google.maps.Map(Demo.mapContainer, {
            <?php 
            if(get_option('ptthemes_scale_factor')){ 
                $ptthemes_scale_factor = get_option('ptthemes_scale_factor');
            } else {
                $ptthemes_scale_factor = 13;
            }
            ?>
            zoom: <?php echo $ptthemes_scale_factor;?>,
            center: latLng,
            <?php 
            if($map_type=='Road Map' || $map_type=='Satellite Map'|| $map_type=='Terrain Map'){
                if($map_type=='Satellite Map') { 
                    $map_type = SATELLITE; 
                } elseif($map_type=='Terrain Map') { 
                    $map_type = TERRAIN; 
                } else { 
                    $map_type = ROADMAP; 
                } 
                ?>
                mapTypeId: google.maps.MapTypeId.<?php echo $map_type;?>
            <?php 
            } else {
            ?>
               mapTypeId: google.maps.MapTypeId.ROADMAP
            <?php 
            }
            ?>
        });
        var marker = new google.maps.Marker({
            position: latLng, 
            map: Demo.map,
            title:"<?php echo trim($post->post_title);?>"
        });     

        jQuery.noConflict();
        jQuery(document).ready(function($) {
            jQuery("#tabs").tabs();
        });
        $(function() {
            $("#tabs").tabs({
                activate: function(e, ui) {                                
                    google.maps.event.trigger(Demo.map, "resize");
                }
            });
        });
    }
    </script>   

全局变量在此处定义:

init: function() {
    var latLng = new google.maps.LatLng(<?php echo $geo_latitude;?>, <?php echo $geo_longitude;?>);
    Demo.map = new google.maps.Map(Demo.mapContainer, {
        <?php 
        if(get_option('ptthemes_scale_factor')) { 
            $ptthemes_scale_factor = get_option('ptthemes_scale_factor');}
        else {
             $ptthemes_scale_factor = 13;
        }
        ?>
        zoom: <?php echo $ptthemes_scale_factor;?>,
        center: latLng,
        <?php 
        if($map_type=='Road Map' || $map_type=='Satellite Map'|| $map_type=='Terrain Map'){
            if($map_type=='Satellite Map') { 
                $map_type = SATELLITE; 
            } elseif($map_type=='Terrain Map') { 
                 $map_type = TERRAIN; 
            } else { 
                $map_type = ROADMAP; 
            } ?>
            mapTypeId: google.maps.MapTypeId.<?php echo $map_type;?>
            <?php 
        } else {
        ?>
        mapTypeId: google.maps.MapTypeId.ROADMAP
        <?php 
        }
        ?>
    });
    var marker = new google.maps.Marker({
        position: latLng, 
        map: Demo.map,
        title:"<?php echo trim($post->post_title);?>"
    });   
}

1 个答案:

答案 0 :(得分:1)

您有一个JavaScript解析错误。第484行还有一个额外的右括号}。修复它,看看你的问题是否仍然存在。