MapTimeBoston宣传单张教程RatMap对象

时间:2019-04-10 16:53:29

标签: html leaflet geojson

我正在关注https://maptimeboston.github.io/leaflet-intro/中对Leaflet的介绍。在第一个Rat Map上,我的代码未能在地图上显示啮齿动物的对象/位置。我直接使用c / v教程代码,但仍然无法在地图上获取对象。所有必需的文件都与所使用的html文件位于同一目录(并适当命名)。

我是HTML,GeoJSON的新手,但是未能找到可以用来解决问题的方法。数据文件是完整的,并且具有所有预期的值/对象。我已经习惯了Python / R / VBA,所以没有错误消息对我来说也是新的。

我正在通过Chrome浏览器运行HTML文件。 HTML文件是用Sublime Text编写的

//make sure you have the jQuery and rodent GeoJSON files in HTML directory
<html>
<head>
  <title>A Leaflet map!</title>
  <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
  <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
  <script src="jquery-2.1.1.min.js"></script>
  <style>
    #map{ height: 100% }
  </style>
</head>
<body>

  <div id="map"></div>

  <script>

  // initialize the map
  var map = L.map('map').setView([42.35, -71.08], 13);

  // load a tile layer
  L.tileLayer('http://tiles.mapc.org/basemap/{z}/{x}/{y}.png',
    {
      attribution: 'Tiles by <a href="http://mapc.org">MAPC</a>, Data by <a href="http://mass.gov/mgis">MassGIS</a>',
      maxZoom: 17,
      minZoom: 9
    }).addTo(map);

  // load GeoJSON from an external file
  $.getJSON("F://FinanceServer//HTML//rodents.geojson",function(data){
    // add GeoJSON layer to the map once the file is loaded
    L.geoJson(data).addTo(map);
  });

  </script>
</body>
</html>

我希望看到类似于上述教程站点中第三张地图的东西。

1 个答案:

答案 0 :(得分:0)

本地文件的URL永远不会起作用,尤其是作为绝对路径时。

出于众所周知的安全原因,浏览器阻止您访问客户端文件系统。

即使直接从文件系统(使用file://协议)打开HTML页面,Chrome浏览器也会阻止您向其他本地文件发出AJAX请求。不过,上次我尝试在其他浏览器中使用它。

即使您使用其他浏览器,您的网址也应该是相对的,或者指定协议/以双斜杠开头以使其绝对。

为避免这些限制中的大多数限制,Web开发中的标准做法是使用小型本地服务器提供文件。