2012-09-05 88 views
1

我的搜索幾乎沒有任何結果。我可以找到的所有文檔都是針對Drupal 6版本的。我需要弄清楚如何以編程方式呈現Openlayers地圖(我假設使用openlayers_render_map函數)。最終,我想使用表單API創建一個地圖,以便在匹配搜索的多個位置之間進行選擇,以便我可以獲取規範地址和描述確切位置的WKT字符串。如何以編程方式渲染Drupal 7中的Openlayers地圖

這是一個相當開放的問題,我真正想要的是鏈接到一些寫得很好的文檔。但是,由於我得出的結論是沒有這樣的事情存在,更具體的問題是:如何在PHP代碼中設計Openlayers地圖並將其渲染到任意模板中?它會不是顯示數據存儲在節點中,甚至在任何地方都是永久存在的,所以使用視圖是而不是的一個選項。另外,如何開始編寫與地圖交互的Javascript,以便選擇特定位置或檢索當前選定的位置?

+0

您好,我有你也有同樣的問題,我發佈你的問題在Drupal的論壇尋求一些幫助。 http://drupal.org/node/1955036 –

回答

1

要渲染圖:

$map = openlayers_map_load('my_map'); 
$output = openlayers_render_map($map->data,$map->name); 

要與地圖進行互動的JS:

var ol_map = $('.openlayers-container .openlayers-map').data('openlayers'); 
+0

沒有幫助。我從'openlayers_map_load'得到什麼? '$ map-> data'中是什麼?允許'$ map-> name'和那個參數控制什麼? '.data('openlayers')'是什麼?看起來我可以用它從地圖上讀取。我將如何改變與JavaScript的地圖? – meustrus

+1

如果您打印$輸出,您將看到您的地圖。 – user1669360

+0

如何查看您渲染的地圖不是我評論中的問題之一。我需要知道如何改變渲染。 – meustrus

0

你確定使用的觀點是不是一種選擇?忍受我,因爲我建議一個瘋狂的想法:

做一個地圖視圖,其中地圖本身接受經緯度/緯度作爲參數(或您選擇的其他地理價值),然後使地圖數據視圖,不真的包含任何有意義的東西。鏈接他們。然後直接從地理編碼器發送您的地圖頁面參數。

我的工作了有限的成功類似的東西,但它只是覺得喜歡的事,應該是可能的...

+0

即使這解決了我的問題的第一部分,它甚至不會開始解決使地圖實際上交互的問題。 – meustrus

0
$map = openlayers_map_load('your_map'); 
$map->data['layer_activated']['your_layer'] = 'your_layer'; 
$map->data['layers']['your_layer'] = 'your_layer'; 
$map->data['behaviors']['openlayers_behavior_zoomtolayer']['zoomtolayer']['your_layer'] = 'your_layer';  
$output = openlayers_render_map($map->data,$map->name); 
+1

在代碼中添加一些解釋 –

相關問題