我遇到了一个关于将布尔变量传递给Google Maps API选项的问题。这是我的HTML
<label for='zoom_scroll'>
<select name="zoom_scroll">
<option value='false' <?php selected( get_option('zoom_scroll'),'false'); ?> >No</option>
<option value='true' <?php selected( get_option('zoom_scroll'),'true'); ?> >Yes</option>
</select>
</label>
现在我将数据传递给JS文件。这是片段
function call_params(){
$script_params = array(
'option_Map_Lat' => get_option('maps_lattitude'),
'option_Map_lng' => get_option('maps_longitude'),
'option_zoom_level' => get_option('zoom_level'),
'option_Map_type' => get_option('maps_type'),
'option_Scroll' => get_option('zoom_scroll')
);
wp_localize_script( 'demo', 'scriptParams', $script_params );
wp_enqueue_script( 'demo' );
}
add_action( 'wp_enqueue_scripts', 'call_params', 200);
以下是地图选项的一部分
var map = new google.maps.Map(document.getElementById("googlemaps"), {
zoom: parseInt(scriptParams.option_zoom_level), // this one is working
mapTypeId: google.maps.MapTypeId[scriptParams.option_Map_type],
scrollwheel: parseInt(scriptParams.option_Scroll), // this one is not working
center: latlng,
zoomControl:false,
mapTypeControl: false,
streetViewControl: false
});
在传递和解释所有其他变量时,只有滚轮的布尔值不起作用。不知道为什么。任何建议都会有所帮助
答案 0 :(得分:0)
首先检查字符串,要么是&#34;是&#34;或&#34; false&#34;,然后设置一个反映该值的布尔变量:
var showScrollWheel = false;
if (scriptParams.option_Scroll == "true") {
showScrollWheel = true;
}
然后使用该变量传递给地图选项:
scrollwheel: showScrollWheel