-2

Google マップ イベント トリガーを実装しました。ただし、イベントがトリガー/呼び出されないようです。グロブ変数が別のファイルにあるため、コードの上に関数の初期化を追加します。しかし、新しい問題が発生し、タブがなくなりました。

いくつかの質問: 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);?>"
    });   
}
4

1 に答える 1

1

JavaScript 解析エラーが発生しました。484 行目に余分な右中括弧があり}ます。これを修正して、問題が引き続き発生するかどうかを確認してください。

于 2013-01-15T14:24:06.037 に答える