我正在開發一個地圖查看器項目,並在此之前使用了openlayers 2。現在我必須使用OpenLayers 3,地圖查看器應用程序應該支持許多不同的投影,因爲我有來自不同來源和投影的wms和wfs圖層。我找到了使用openlayers2和proj4js的例子。但是我找不到使用ol3和proj4js的明確例子。你有什麼建議?如何將OpenLayers 3與Proj4js一起使用
2
A
回答
2
這個例子演示瞭如何使用proj4js與OL3:http://openlayers.org/en/v3.3.0/examples/wms-image-custom-proj.html
基本上使用proj4js中的OpenLayers 3個透明地工作。您需要先扔在proj4js SRS的定義,然後你可以使用投影馬上:
proj4.defs("EPSG:21781","+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=660.077,13.551,369.344,2.484,1.783,2.939,5.66 +units=m +no_defs");
var zurich = ol.proj.transform([8.55, 47.366667], 'EPSG:4326', 'EPSG:21781');
9
看來,有時候,使用的OpenLayers 3和proj4在角2時使用的WebPack一樣,我們需要明確告訴OL3哪裏可以找到它:
import * as proj4 from "proj4";
import * as ol from "openlayers";
...
ol.proj.setProj4(proj4);
當一切都很好,然後定義投影后,ol.proj.get
應該回到它:
proj4.defs("EPSG:28992", "...");
if (!ol.proj.get('EPSG:28992')) {
console.error("Failed to register projection in OpenLayers");
...
}
相關問題
- 1. 在RequireJS中使用Openlayers 3和proj4js
- 2. 如何將OpenLayers與react-starter-kit一起使用?
- 3. 將PageMenu與Storyboards一起使用Swift 3
- 4. 如何將TTTAttributedLabel與'@'和'#'一起使用?
- 5. 如何將SystemBarTint與PreferenceFragment一起使用
- 6. 如何將Ninject2與WCF一起使用?
- 7. 如何將RestSharp與OAuth一起使用?
- 8. 如何將C#與AIR一起使用?
- 9. 如何將SQLAlchemy與buildozer一起使用?
- 10. 如何將stubsPerConsumer與restdocs一起使用
- 11. 如何將ZINCRBY與predis一起使用
- 12. 如何將selectAll與checkedListBox一起使用..?
- 13. 如何將yaml.load_all與fileinput.input一起使用?
- 14. 如何將$ _GET與paginator一起使用?
- 15. 如何將socketRocket與socket.io一起使用?
- 16. 如何將LINQ與ServiceModel.Channels.Message一起使用
- 17. 如何將PixelFormats.IndexedX與RenderTargetBitmap一起使用?
- 18. 如何將vimpulse與autopair.el一起使用
- 19. 如何將PhoneGap與Worklight一起使用?
- 20. 如何將curl與HEADERS一起使用?
- 21. 如何將none_if_empty與create_deep_key一起使用?
- 22. 如何將haml與heroku一起使用?
- 23. 如何將SQLite與tabview一起使用
- 24. 如何將colspan與DataTables.row.add一起使用()
- 25. 如何將ListFrameout與ContextFlyout一起使用?
- 26. 如何將UIBezierPath與CoreAnimation一起使用?
- 27. 如何將qTip2與CakePHP一起使用?
- 28. 如何將SnapHelper與RecyclerView一起使用
- 29. 如何將TypeConverters與ConfigurationSection一起使用?
- 30. 如何將libusb與libevent一起使用?
欲瞭解更多背景信息,您還可以閱讀http://ahocevar.net/2014/07/10/proj4js-2-2-x-with-ol3.html。 – ahocevar 2015-03-22 20:15:27