将存储在本地主机上的GeoJSON文件加载到google maps javascript sdk中

将存储在本地主机上的GeoJSON文件加载到google maps javascript sdk中,javascript,json,iis,google-maps-api-3,geojson,Javascript,Json,Iis,Google Maps Api 3,Geojson,我试图在谷歌地图中显示一些JSON数据。我复制了Google的默认JSON文件进行测试,因此两个文件完全相同 当我从Google的服务器上加载文件时,数据会正确显示: map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json'); 但是,当我从本地主机加载数据时,它不会显示: map.data.loadGeoJson('http://localhost/WebApp/test.json'); 完

我试图在谷歌地图中显示一些JSON数据。我复制了Google的默认JSON文件进行测试,因此两个文件完全相同

当我从Google的服务器上加载文件时,数据会正确显示:

 map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json');
但是,当我从本地主机加载数据时,它不会显示:

map.data.loadGeoJson('http://localhost/WebApp/test.json');
完整应用程序:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>testMap</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
        html, body, #map-canvas
        {
            height: 100%;
            margin: 0px;
            padding: 0px;
        }
    </style>
    <script>
        function initialize() {
            var mapOptions = {
                zoom: 8,
                center: new google.maps.LatLng(-34.397, 150.644)
            };

            var map = new google.maps.Map(document.getElementById('map-canvas'),
                mapOptions);

            // map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json');

            map.data.loadGeoJson('http://localhost/WebApp/test.json');
        }

        function loadScript() {
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
                'callback=initialize';
            document.body.appendChild(script);
        }

        window.onload = loadScript;
    </script>
</head>
<body>
    <div id="map-canvas"></div>
</body>
</html>

测试图
html,正文,#地图画布
{
身高:100%;
边际:0px;
填充:0px;
}
函数初始化(){
变量映射选项={
缩放:8,
中心:新google.maps.LatLng(-34.397150.644)
};
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
//map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json');
map.data.loadGeoJson('http://localhost/WebApp/test.json');
}
函数loadScript(){
var script=document.createElement('script');
script.type='text/javascript';
script.src=https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
'回调=初始化';
document.body.appendChild(脚本);
}
window.onload=loadScript;

IIS服务器需要特定的mime类型:

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
</system.webServer>


原始答案的积分:

如果您使用文件的相对路径,而不是完整的url(
http://localhost/...
)?是的,我也试过了,也没用。你确定你使用的路径吗?调试控制台显示什么?100%确定路径,我可以在浏览器中浏览到它。请尝试检查以下内容: