2011-12-06 84 views
-3

我已經在網上看到過這個問題,但還沒有看到解決它的答案。在使用PHP的地圖上突出顯示國家/地區

這就是我需要做的 - 基於從我的數據庫,我需要強調國家地圖非洲的數據。這是一個基於網絡的遊戲,我不想使用谷歌地圖等。

這不是一個新問題,我假設有一個PHP庫在那裏,或者至少包含必要信息的文件(根據我的理解我需要很多座標)。地圖不需要是交互式的(沒有on-click或on-hover事件),如果可能的話,我想保留這個服務器端。它只需要顯示國家並根據數據庫中的數據對它們進行着色。

但是,如果你沒有一個PHP的解決方案,我將是使用JavaScript任何替代方案感激(注意,數據仍然需要從數據庫中提取)。

最後一個問題 - 這將是多麼困難簡單地創建每個國家的PNG圖片與地圖透明的休息和他們位置,從而形成一個地圖?在那種情況下,是否有PHP函數可以讓我突出顯示各個國家?

+1

太棒了!你有規範,現在你有什麼嘗試? –

+0

我沒有嘗試過的是繪製地圖點自己,因爲我不想花下個月做它。我試過在互聯網上搜索工作解決方案。我沒有找到的是一個答案,但是我發現的是一百個人,他們對各種線索的唯一貢獻是一個令人惱怒的半滑稽的諷刺話。非常感謝你的不是。 101. – robert

+0

鑑於您正在使用地圖,您是否考慮過使用Flash + ActionScript? Actionscript可以通過JavaScript與PHP交談。而且PHP也可以與Actionscript進行交談。這樣,您可以在給定PHP中的用戶操作時突出顯示Flash中的地圖元素,並根據用戶與地圖的交互情況在PHP中觸發操作。 –

回答

2

你不能在PHP中輕鬆做到這一點,但是使用jQuery插件imageMapster很簡單。這是一個適合你的地圖演示。

http://www.outsharked.com/imagemapster/examples/usa.html

你可以將其設置爲圖像映射並將其設置爲突出負載,鼠標懸停地圖區域,請等亮點既可以基於CSS的或替代圖像。

這是非常有據可查的,併爲我多次救命。

這裏是你如何設置區域的通態一個例子:

<script> 
    $(document).ready(function() { 
     $('#IMAGE_NAME').mapster('set',true,'AREA_ID'); 
    }); 
</script> 

編輯:其實,這是我推薦的這個第二次的今天。我不以任何方式附屬於它,我只是覺得它很酷。

+0

這看起來不錯,正是我需要的。非常感謝。 – robert

+0

不用擔心。如果這是您接受的答案,請不要忘記標記爲答案。它會幫助你在將來得到更多的答案,並幫助我的網站重新出現。助教。 – SpaceBeers

+0

已標記,謝謝。還有一件事 - 如果我決定使用點擊事件,你認爲我可以使用Ajax發送一些數據到PHP腳本嗎?基本上,我只需要保存與被點擊的區域相關聯的名稱/ ID。 – robert

0

對於初學者來說,你必須追蹤每個國家有某種影像地圖或SVG工具和映射所有點。這應該需要一段時間 - 當你完成這些時,你可以使用HTML的畫布標記來將這些點複合成圖像上的多邊形。

+0

您可以很快在Fireworks中完成,然後將其導出並從它提供的HTML中獲取座標。 – SpaceBeers

+0

謝謝。我發現一個SVG工具,看起來像我可以使用它是mapper.js(http://www.netzgesta.de/mapper/)。有關於此的任何信息? – robert

2

VectorWorkz GeoChart是一種jQuery插件的,它允許您更改基於數據庫數據的地圖區域的顏色,它也可以讓你的數據庫中的數據綁定到的區域,從而使地圖的區域顏色會自動改變當有界數據值改變時。

相關問題