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. 如何使用Google Chart API按國家/地區代碼突出顯示多個國家/地區?
- 2. 使用Google地圖API顯示國家/地區地圖
- 3. 在Google地圖中突出顯示整個國家
- 4. Bing地圖 - 突出顯示國家與懸停多邊形
- 5. 如何使用google maps api v3突出顯示一個國家/地區?
- 6. 地址按國家/地區
- 7. 如何從angularjs中的國家/地區獲取國家/地區名稱
- 8. 當在特定國家徘徊時突出顯示國家國旗在空白世界地圖上
- 9. 根據國家/地區代碼選擇國家/地區
- 10. 如何使用僅限國家/地區名稱在iPhone上的Google地圖上獲取國家/地區位置?
- 11. Jvectormap突出顯示多個國家
- 12. 如何根據國家/地區代碼管理谷歌地圖?
- 13. Symfony2:按國家/地區列出城市
- 14. 顯示完整的國家/地區名稱,而不是國家/地區代碼 - WooCommerce
- 15. 國家/地區/城市DB
- 16. 基於yii2中的國家/地區的顯示時間
- 17. 在不同的國家/地區顯示不同的Wordpress菜單
- 18. 顯示大陸地圖和放大顯示國家
- 19. 試圖突出顯示圖像地圖區域,而beeing響應
- 20. 防止突出顯示地圖圖塊
- 21. 用Bing地圖突出顯示圖釘
- 22. 有沒有更好的辦法來處理國家/地區和國家/地區的國家名單?
- 23. 如何在Google電子表格中與國家/地區區域進行地圖
- 24. pof如何從手動或自動選擇的國家/地區生成城市
- 25. 在高地圖中劃線時,突出顯示區域線圖
- 26. 按國家和地區獲取時區
- 27. 用bootstrap-formhelpers顯示國家/地區列表
- 28. 僅在特定國家/地區顯示鏈接
- 29. D3地圖顯示國名
- 30. 在谷歌地圖上選擇地區或國家的邊界
你爲什麼要使用OSM來做這件事的原因是什麼? – Manuel
@曼紐爾,沒有理由,我只是需要一種方法來創建一個這樣的地圖。我認爲OSM可以做到這一點,糾正我,如果我錯了。 – madhead
沒有OSM只是一個包含自願者數據庫而不是映射庫的底圖(比如地理數據維基)...... 它應該像上面那樣是相同的映射(Lambert的Conformal Conic Projection),還是像谷歌地圖這樣簡單的墨卡託投影?預測:http://bl.ocks.org/syntagmatic/raw/ba569633d51ebec6ec6e/。墨卡託將是最簡單的。 你有興趣用mapserver實現這個服務器端還是使用一個簡單的庫來實現更快的方法?它應該是一個可縮放的「滑動地圖」或靜態交互式地圖嗎? 什麼語言? – Manuel