Загрузка файла GeoJSON, хранящегося на локальном хосте, в Google Maps javascript sdk

Я пытаюсь отобразить некоторые данные JSON на картах Google. Я скопировал файл 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>

person DanBrum    schedule 04.04.2014    source источник
comment
Что если вы используете относительный путь к вашему файлу вместо полного URL-адреса (http://localhost/...)?   -  person MrUpsidown    schedule 04.04.2014
comment
Ага, я тоже так пробовал, тоже не помогло.   -  person DanBrum    schedule 04.04.2014
comment
Вы уверены в пути, который используете? Что говорит ваша консоль отладки?   -  person MrUpsidown    schedule 04.04.2014
comment
На 100% уверен в пути, я могу найти его в своем браузере.   -  person DanBrum    schedule 04.04.2014
comment
Что-нибудь в консоли? Любая ошибка?   -  person MrUpsidown    schedule 04.04.2014
comment
У меня еще не работает отладка должным образом, я никогда раньше не делал javascript, и я использую визуальную студию, поэтому на данный момент вывод - это просто загрузка dll Microsoft.   -  person DanBrum    schedule 04.04.2014
comment
Запустите свой код в Chrome или Firefox. В Chrome есть хорошая консоль отладки. Или скачайте Firebug для Firefox.   -  person MrUpsidown    schedule 04.04.2014
comment
Пишет, что не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено).   -  person DanBrum    schedule 04.04.2014
comment
Но если я перейду к localhost/WebApp в браузере, файл test.json будет там, однако, если я нажму на него Я получаю сообщение об ошибке HTTP 404.3 — Not Found. Запрашиваемая вами страница не может быть обслужена из-за конфигурации расширения. Если страница является скриптом, добавьте обработчик. Если файл необходимо загрузить, добавьте карту MIME.   -  person DanBrum    schedule 04.04.2014
comment
Используете ли вы какой-либо серверный язык? АСП? IIS-сервер?   -  person MrUpsidown    schedule 04.04.2014
comment
Я запускаю его на сервере IIS, но на самом деле я ничего не программирую на сервере.   -  person DanBrum    schedule 04.04.2014
comment
Попробуйте проверить это: stackoverflow.com/questions/19516829/   -  person MrUpsidown    schedule 04.04.2014
comment
Да, это сработало, спасибо! Как я могу кредитовать вас в моем ответе?   -  person DanBrum    schedule 04.04.2014


Ответы (1)


IIS Server нуждается в декольировании определенного типа mime:

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

Кредиты исходному ответу: Разрешить загрузку Файлы JSON в Visual Studio Express 2013 для Интернета

person MrUpsidown    schedule 04.04.2014