2015-04-12 120 views
1

我一直在試圖通過使用WordPress的一個特定的變量後,谷歌地圖的想法是從變量中取數據,將其更改爲js,然後將其插入地圖代碼,這我怎麼做谷歌地圖與Php到Js變量

if(isset($post->ID)){ 
    $gmap_lat   = esc_html(get_post_meta($post->ID, 'property_latitude', true)); 
    $gmap_long   = esc_html(get_post_meta($post->ID, 'property_longitude', true)); 
    $property_add_on = ' data-post_id="'.$post->ID.'" data-cur_lat="'.$gmap_lat.'" data-cur_long="'.$gmap_long.'" '; 
    $closed_height  = get_current_map_height($post->ID); 
    $open_height  = get_map_open_height($post->ID); 
    $open_close_status = get_map_open_close_status($post->ID); 
echo '<script type="text/javascript"> 
function initialize() { 
    var name= "<?php echo $gmap_lat; ?>"; 
    var name2= "<?php echo $gmap_long; ?>"; 
    var latlng = new google.maps.LatLng(name ,name2); 
    var myOptions = { 
     zoom: 9, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
} 
</script>'; 
} 

然後地圖顯示在map_canvas股利。我遇到的問題是地圖加載控件和框架,但不顯示任何地圖,我想我可能使用變量錯誤,任何想法?

回答

1

試試這個:

echo '<script type="text/javascript"> 
function initialize() { 
var name= "' . $gmap_lat . '"; 
var name2= "' . $gmap_long . '"; 
    var latlng = new google.maps.LatLng(name ,name2); 
    var myOptions = { 
     zoom: 9, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 
</script>'; 

如果$gmap_lat$gmap_long是數字那麼就不要使用引號。

+0

謝謝你,是的,它的號碼,但仍然只適用於報價。 – MarcosDrod