1
A
回答
2
奧凱,讓我們使用JavaScript,因爲我覺得這是最大的種種庫。這裏我將解釋一些創建交互式webmap的方法。
1)第一種方法是使用普通SVG:
你可以下載或與您所選擇的矢量軟件底圖爲SVG繪製。然後你可以爲每個國家的多邊形分配一個唯一的ID,而在JS內部,你可以通過點擊或鼠標懸停等鼠標事件訪問SVG。該國的所有信息可以存儲在JS以外的.json(更簡單)或.xml文件中。使用從SVG事件中獲得的ID,您可以從.json獲取適合的信息。也許重新發明輪子,但它是高度可調的。但是我認爲如果你只是想要一個靜態映射它更簡單,如果你正在使用一個更復雜的庫。
2)第二種方法是使用對SVG相互作用庫:
非常流行D3.js或Raphael.js
3)使用基於SVG專題電子地圖服務庫中的第三種方法:
使用JQVMAP(原vectormap.js)或非常新奧項目mapmap.js
4)利用地形電子地圖服務庫
在這裏你可以使用開放圖書館leaflet.js或openlayers.js。有了這些,最好的方法就是,將您的國家添加爲.geojson。 Geojson是一個非常好的格式,它允許您使用大多數地理軟件與您的國家進行交互。
5)創建UND使用自己瓦片
這種方法是最高效的解決方案,但不是簡單的實現。 Here是一個非常好的教程,解釋了五種方法。但我認爲最簡單的是使用TileMill。
6)使用地圖服務器 如果你不熟悉mapservers,這應該只有當你要實現廣泛的應用考慮。 Nice Mapservers是Deegree和受歡迎的Geoserver。
所有這些方法都有其優點和缺點,但我認爲其中一種解決方案將滿足您的需求,並祝您取得最佳成績!
相關問題
- 1. 用於突出顯示的國家和地區的地圖SDK
- 2. 在使用PHP的地圖上突出顯示國家/地區
- 3. 如何使用Google Chart API按國家/地區代碼突出顯示多個國家/地區?
- 4. 使用Google地圖API顯示國家/地區地圖
- 5. 在Google地圖中突出顯示整個國家
- 6. Bing地圖 - 突出顯示國家與懸停多邊形
- 7. 如何使用google maps api v3突出顯示一個國家/地區?
- 8. 只顯示谷歌地圖中的特定國家(地區)
- 9. OpenStreetMap:如何顯示國家/地區的區域邊界?
- 10. 顯示國家出現的次數最多的國家/地區Rails 3
- 11. 地址按國家/地區
- 12. 任何適用於具有國家/地區顯示的地圖的JavaScript API?
- 13. 如何在android中顯示指定的國家/地區狀態
- 14. 如何從angularjs中的國家/地區獲取國家/地區名稱
- 15. 國際地址國家/地區數據
- 16. 從國家/地區代碼獲取國家/地區名稱
- 17. 根據國家/地區代碼選擇國家/地區
- 18. 按國家/地區搜索國家/地區代碼
- 19. 當在特定國家徘徊時突出顯示國家國旗在空白世界地圖上
- 20. 如何使用僅限國家/地區名稱在iPhone上的Google地圖上獲取國家/地區位置?
- 21. 如何顯示此國家/地區代碼?
- 22. 如何突出顯示Google地圖上的區域
- 23. 如何同時突出顯示地圖上的多個區域
- 24. 如何在地圖名稱中突出顯示谷歌地圖中的區域
- 25. 在地理海圖中未突出顯示的地區
- 26. Jvectormap突出顯示多個國家
- 27. 國家對鼠標突出顯示了
- 28. 在Rails 3中顯示國家/地區表中較長的國家/地區名稱作爲較短的國家/地區名稱
- 29. 如何根據國家/地區代碼管理谷歌地圖?
- 30. Symfony2:按國家/地區列出城市
你爲什麼要使用OSM來做這件事的原因是什麼? – Manuel
@曼紐爾,沒有理由,我只是需要一種方法來創建一個這樣的地圖。我認爲OSM可以做到這一點,糾正我,如果我錯了。 – madhead
沒有OSM只是一個包含自願者數據庫而不是映射庫的底圖(比如地理數據維基)...... 它應該像上面那樣是相同的映射(Lambert的Conformal Conic Projection),還是像谷歌地圖這樣簡單的墨卡託投影?預測:http://bl.ocks.org/syntagmatic/raw/ba569633d51ebec6ec6e/。墨卡託將是最簡單的。 你有興趣用mapserver實現這個服務器端還是使用一個簡單的庫來實現更快的方法?它應該是一個可縮放的「滑動地圖」或靜態交互式地圖嗎? 什麼語言? – Manuel