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);?>"
});
}