将布尔变量传递给Google地图

时间:2016-02-24 13:52:07

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

我遇到了一个关于将布尔变量传递给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
});

在传递和解释所有其他变量时,只有滚轮的布尔值不起作用。不知道为什么。任何建议都会有所帮助

1 个答案:

答案 0 :(得分:0)

首先检查字符串,要么是&#34;是&#34;或&#34; false&#34;,然后设置一个反映该值的布尔变量:

var showScrollWheel = false;

if (scriptParams.option_Scroll == "true") {
   showScrollWheel = true;
}

然后使用该变量传递给地图选项:

scrollwheel: showScrollWheel