2012-10-31 64 views
3

我試圖將多個標記及其關聯的信息窗口添加到jquery-ui-map,並且我無法達到任何結果。在Jquery-ui地圖上添加多個標記

我嘗試這樣做:

$('#map').gmap('addMarker', {'position': '<?php echo $city->city_latitude; ?>,<?php echo $city->city_longitude; ?>', 'bounds': true}); 

但它不工作。

我的地圖是這個代碼之前初始化工作:

$(function() { 
    $('#map').gmap({'zoom':8, 'center': '45.558295,5.776062'}); 
}); 

有誰知道該怎麼辦?

+0

什麼是線,*的渲染輸出不起作用*? –

+0

什麼都沒有出現,我的JS控制檯甚至沒有錯誤。 – Pauloscorps

+0

你檢查了頁面源代碼以確保php代碼正確地吐出了lat和lng嗎?我唯一能想到的另一件事是,當你試圖將地圖添加到地圖時,地圖還沒有完成初始化。在這種情況下,我會期待一個錯誤,但從來不知道。是否有任何理由不能在初始化回調中插入這些標記? – hcker2000

回答

1

看起來好像你正試圖在瀏覽器中執行php,這是行不通的。先嚐試添加帶有硬編碼值的標記,然後您可以考慮如何將這些值傳遞給瀏覽器。例如:

(function() { 
    var $map = $('#map'); 
    $map.gmap({zoom:8, center: '45.558295,5.776062'}); 
    $map.gmap('addMarker', {position: '45.558295,5.776062', bounds: true}); 
})(); 

是否適合你,那麼你就可以開始考慮你想如何通過這些緯度和經度從服務器到瀏覽器的座標。例如,您可以使用數據屬性或ajax調用。這裏是你如何使用數據屬性:

PHP/HTML:

<?php $city_lat_lng = "{$city->city_latitude},{$city->city_longitude}"; ?> 

<div id="city-data" data-lat-lng="<?php echo $city_lat_lng; ?>" style="display:none;"></div> 
...rest of your html code below 

JS:

(function() { 
    var $map = $('#map'); 
    var cityLatLng = $('#city-data').data('lat-lng'); 
    $map.gmap({zoom:8, center: '45.558295,5.776062'}); 
    $map.gmap('addMarker', {position: cityLatLng, bounds: true}); 
})(); 
相關問題