2016-02-24 18 views
0

我遇到了有關將布爾變量傳遞給Google Maps API選項的問題。這是我的HTML將布爾變量傳遞給Google地圖

<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 file.Here是片段

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

'parseInt('false')'給出'NaN',而不是'false' – duncan

+0

謝謝。我如何解決這個問題。也許我的大腦現在正在死亡.. – Ayanize

回答

0

首先只檢查字符串,要麼是「真」或「假」,然後設置,反映的是一個布爾變量:

var showScrollWheel = false; 

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

然後使用該變量傳遞到map選項:

scrollwheel: showScrollWheel 
+0

謝謝你。我真的很愚蠢,錯過了那件簡單的事情。真的,我想我需要休息一下。再次感謝。 – Ayanize