当前位置:   article > 正文

使用web地图API访问地图服务_openlayers中文官网

openlayers中文官网

相关学习文档官网

  1. //HTML: http://www.w3schools.com/html/DEFAULT.asp
  2. //JS:http://www.w3schools.com/js/DEFAULT.asp
  3. //OpenLayers:http://www.openlayers.org
  4. //OpenLayers中文官网:http://www.openlayers.cn/protal.php

一、Web地图API的选择

(一)FOSS(Free and Open Source Software)类型的Web地图API

  • OpenLayers:一种Javascript API,使用较多但复杂
  • Leftlet:更适用于移动设备,强调使用切片,可绘制GeoJSON,缺少代码实例
  • D3:常用于绘制图表,可将数据绑定到页面的DOM(文档对象模型)上,对将图表和地图结合有优势
//D3地球仪实例:http://mbostock.github.io/d3/talk/20111018/azimuthal.html

(二)商业Web地图API

  • 谷歌地图API:可将数据叠加到谷歌切片上,叠加数据多为KML文件
  • 必应地图API:不注重KML使用,但源代码较多
  • ArcGIS的API:最常用的为ArcGIS API for Javascript

二、使用Web地图API的基本步骤

1.在HTML的<head>引用Javascript和样式表css文件

2.在<body>设置地图div与对象

3.在<script>设置相关layer对象

4.进行图层样式化

5.为了进行交互,设置事件与交互元素

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <!-- 引用内容分发网站CDN站点Javascript与样式表css文件 -->
  8. <script src="http://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js"></script>
  9. <script src="http://openlayers.org/api/OpenLayers.js"></script>
  10. <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/theme/default/style.css">
  11. <script>
  12. var mymap=new OpenLayers.Map('map');//在API的Map类通过构造函数链接div的id,并实例化负值给变量mymap
  13. var toProjection=new OpenLayers.Projection("EPSG:900913");//通过投影类的EPSG属性,实例化赋值给变量toProjection
  14. var map=new OpenLayers.Map("map",{projection:toProjection});//再次用Map类,链接div并赋予div投影信息,赋值给新变量map
  15. layer=new OpenLayers.Layer.WMS("WMS","https://restapi.amap.com/v3/staticmap?location=116.481485,39.990464&zoom=10&size=980*700&markers=mid,,A:116.461485,39.840464&key=你的key",
  16. {LAYERS:'',transparent:true},{singleTile:true,isBaseLayer:false});
  17. var osm=new OpenLayers.Layer.OSM("Simple OSM Map");
  18. map.addLayer([layer,osm]);
  19. var fromProjection=new OpenLayers.Projection('EPSG:4326');
  20. var groceryLayer=new OpenLayers.Layer.Vector('Grocery',{
  21. projection:fromProjection,
  22. strategies:[new OpenLayers.Strategy.Fiexd()],
  23. protocol:new OpenLayers.Protocol.HTTP({
  24. url:"https://restapi.amap.com/v3/bus/stopid?key=你的key&id=BV10006672&output=json",
  25. format:new OpenLayers.Format.GeoJSON()
  26. }),
  27. style:{
  28. externalGraphic:'./Learn/6Web的API访问地图服务/green-pin.png',
  29. praghicWidth:25,
  30. graphicHeight:25,
  31. graphicYOffset:0
  32. }
  33. });
  34. map.addLayer(groceryLayer);
  35. //事件与交互元素(图层显隐)
  36. function toggleLayerViz(layername){
  37. var layerToToggle=map.getLayersByName(layername)[0];
  38. if(layerToToggle.visibility){
  39. layerToToggle.setVisibility(false);
  40. }
  41. else{
  42. layerToToggle.setVisibility(true);
  43. }
  44. }
  45. </script>
  46. </head>
  47. <body>
  48. <div id="map"></div>
  49. </body>
  50. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/489379
推荐阅读
相关标签
  

闽ICP备14008679号