Google Maps API将不会显示GeoJSON数据

时间:2019-05-07 19:12:45

标签: google-maps-api-3 geojson

我第一次尝试从GeoJSON文件中提取数据并将其显示在Google Maps中。我只想在geojson中的坐标处放置一个简单的Google Maps标记。尝试阅读我可以在GM API和geojson上上网阅读的内容,但感觉好像很简单。

这是主地图代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.webServer>
        <!--Overrides the FastCGI handler to let IIS serve the static files-->
        <handlers>
            <clear />
            <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
        </handlers>
    </system.webServer>
</configuration>

这是 toilets.geojson 文件:

<script>
var map;
  function initMap()
  {
    map = new google.maps.Map(document.getElementById('map'), {
      zoom: 16,
      center: new google.maps.LatLng(32.061146,34.799387),
      mapTypeId: 'hybrid'
    });
  }
map.data.loadGeoJson('toilets.geojson');
map.data.setMap(map);
</script>

只想在这些坐标处显示常规标记

1 个答案:

答案 0 :(得分:0)

一个问题是ERROR 3680 (HY000): Failed to create schema directory 'test' (errno: 13 - Permission denied)变量在加载GeoJSON时超出范围。该代码必须位于map函数内部。

initMap

screenshot of resulting map

<script>
var map;
  function initMap()
  {
    map = new google.maps.Map(document.getElementById('map'), {
      zoom: 16,
      center: new google.maps.LatLng(32.061146,34.799387),
      mapTypeId: 'hybrid'
    });
    map.data.loadGeoJson('toilets.geojson');
    map.data.setMap(map);
  }
</script>
var map;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 16,
    center: new google.maps.LatLng(32.061146, 34.799387),
    mapTypeId: 'hybrid'
  });
  map.data.addGeoJson(geoJsonData);
  map.data.setMap(map);
}
var geoJsonData = {
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {},
    "geometry": {
      "type": "Point",
      "coordinates": [
        34.799339175224304,
        32.061136963943106
      ]
    }
  }]
};
html,
body,
#map {
  height: 100%;
  margin: 0;
  padding: 0;
}