2014-07-02 55 views
-1

我需要穿上谷歌地圖標記,通過點擊它們下面的地圖應該打開它們的描述(從類別中發佈)。如何在Laravel 4中連接Google地圖對象和帖子?你可以爲此推薦什麼解決方案?谷歌地圖與Laravel4(爲每個地圖對象添加帖子)

鏈接圖像http://postimg.org/image/y1m5mp9m1/

+0

我理解你的英語是粗糙的,但它並沒有讓很多感覺你在描述什麼。你能提供更多細節還是可能繪製圖像? –

+1

您能否詳細說明您的要求?你想做什麼? –

+0

可以用googlMapper解決。查看更多 - http://www.tisuchi.com/add-google-map-laravel-googlmapper/ – tisuchi

回答

2

我不知道我是否完全瞭解你的問題,由於你比較差的英語,但我會盡我所能。

首先,您是否先檢查了文檔? Google在他們的Maps API上有非常豐富的文檔。檢查這裏的文檔:Google Maps API Documentation

確保Laravel加載地圖API在佈局/視圖,就像這樣:

<script type="text/javascript" 
    src="https://maps.googleapis.com/maps/api/js?key=API_KEY"> 
</script> 

然後確保初始化地圖,就像這樣:

<script type="text/javascript"> 
    function initialize() { 
    var mapOptions = { 
     center: new google.maps.LatLng(-34.397, 150.644), 
     zoom: 8 
    }; 
    var map = new google.maps.Map(document.getElementById("map-canvas"), 
     mapOptions); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

我建議爲此創建一個單獨的JavaScript文件(例如:maps.js)。 中的map-canvas描述了應用該地圖的哪個元素ID。確保它的高度設置爲&,否則不會顯示。

如果我理解你是對的,我想你想添加多個基於Post的數據庫記錄的標記。一種方法(我使用)是通過創建數據庫記錄的JSON數組併爲每條記錄創建一個標記。它會是這個樣子:

<!-- Sets the JavaScript variable db_markers to the json array of $markers --> 
<script>var db_markers = {{ json_encode($markers) }}</script> 

然後你要創建JSON數組中的每一項標記和信息窗口,這將是這個樣子:

var marker, x, infowindow = new google.maps.InfoWindow(); 

for (x = 0; x < db_markers.length; x++) { 
     var id = db_markers[x]; 
     var location = new google.maps.LatLng(id.lat,id.lng); 
     marker = new google.maps.Marker({ 
     position: location, 
     title: id.name, 
     map: map 
     }); 

    google.maps.event.addListener(marker, 'click', (function(marker, x) { 
     return function() { 
      infowindow.setContent("<b>Title: " + db_markers[x].title); 
      infowindow.open(map, marker); 
     } 
    })(marker, x)); 
} 

如果你不」理解一些東西,隨時發表評論,我會盡快回復。但也請查看文檔,這真的很有幫助。谷歌也有一個YouTube頻道,他們的開發人員解釋你如何使用API​​,鏈接: