Как я генерирую файл KML в ASP.NET?

Я проверил первый ответ, и он не разрешил его. Мне пришлось использовать следующее предложение:

jQuery("input:radio[name=groupName]:visible")[0].checked=true;

Эта проверка первой видимой переключателя с именем = groupName

15
задан George Stocker 17 March 2013 в 01:53
поделиться

1 ответ

Я предлагаю вам рассмотреть возможность использования обработчика HTTP вместо страницы ASP.NET. Он будет чище и производительнее. Просто добавьте в проект новый элемент типа «Универсальный обработчик» и подумайте о переносе кода в его метод ProcessRequest . Однако общий подход хорош.

Между прочим, если вы явно не сопоставляете файлы .kml обработчику ASP.NET, он все равно не запустится. Я предлагаю использовать расширение по умолчанию .ashx и добавить HTTP-заголовок Content-Disposition , чтобы установить имя файла для клиента:

Response.AddHeader("Content-Disposition", "attachment; filename=File.kml");

Также обратите внимание, что вы должны установить заголовок перед что-либо отправляется клиенту, поэтому вам следует переместить параметр Content-Type и добавить заголовок перед другими материалами.


Полное решение (из OP):

Вот как я сделал это:

Сервер

  1. Добавьте mimetype .kml в папку, в которой вы хотите разместить этот «файл». Скажем, \\ myDevServer \ ... \ InetPub \ KML
    ( Инструкции Google предназначены только для Apache )
    1. Откройте Диспетчер информационных служб Интернета (IIS) на вашем сервере DEV
    2. Перейдите на сайт DEV
    3. Щелкните правой кнопкой мыши папку KML и выберите Свойства
    4. Щелкните вкладку Заголовки HTTP
    5. Щелкните кнопку Типы MIME
    6. Щелкните Создать
    7. Введите
      • Расширение: .kml
      • Тип MIME: application / vnd.google-earth.kml + xml
    8. Дважды нажмите ОК , чтобы вернуться на вкладку Заголовки HTTP .
  2. Установите папку KML как приложение ASP.NET (возможно, по желанию, в зависимости от того, как настроен ваш сервер)
    1. Щелкните вкладку Каталог
    2. Нажмите кнопку Создать
    3. Поле Имя приложения станет активным с настройкой KML
    4. Нажмите ОК , чтобы вернуться в главное окно диспетчера IIS

Веб-сайт

  1. Откройте VS2008:
    1. Файл >> Новый веб-сайт
    2. Выберите: вы должны увидеть следующее в файле

    \

    <?xml version="1.0" encoding="utf-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
       <Placemark>
          <name>Melrose Vista   FL</name>
          <description>A nice little town</description>
          <Point>
             <coordinates>-80.18451400000000000000,26.08816400000000000000,0</coordinates>
          </Point>
       </Placemark>
    </kml>
    

    . Примечание: XmlTextWriter здесь работал очень хорошо. Однако я думаю, что XMLDocument выглядит более многообещающим для больших файлов KML, поскольку вы можете манипулировать им в памяти, прежде чем отправлять его пользователю. Если, например, вы хотите, чтобы одна и та же точка отображалась в нескольких папках в дереве GoogleEarth Locations.

10
ответ дан 1 December 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: