2015-04-12 132 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