Рендерить кмл файлы на гугл картах локально? - PullRequest
3 голосов
/ 26 января 2012

Я использую GeoXML js.для v3 google maps для локального анализа файлов kml.Я не хочу использовать KmlLayer (), так как он требует, чтобы kml находился на общедоступном сервере.http://code.google.com/p/geoxml3/wiki/Usage

Первоначально у меня есть kml-файлы в виде байтового массива в базе данных SQL-сервера.

Я извлекаю байтовый массив из базы данных и делаю File.WriteAllBytes("c:\\KmlFiles\\layer" + id + ".kml", byte[]), это успешно сохраняет файл kmlк пути.

Теперь мне нужно передать файл kml в анализатор GeoXML.Я пытался передать путь каталога к методу, вот так: У меня есть:

 <script type="text/javascript">
    var myMap = new google.maps.Map(...);

    var myParser = new geoXML3.parser({map: myMap});
    myParser.parse(path);
  </script>

Это не работает.Кажется, это не правильный способ передать файл kml, так как это не URL.Я застрял на том, что я могу сделать, чтобы сделать файлы кмл рендеринга.У меня есть приложение .Net MVC, в которое встроены карты Google. В настоящее время я запускаю приложение локально на своем ПК, но еще не опубликовало его на веб-сервере (с iis 7).

Пожалуйста, дайте мне представление о том, как выполнить синтаксический анализ файлов kml.Как мне получить URL-адрес файла kml?Я застрял на том, как продолжить / заставить его работать.Спасибо.

1 Ответ

1 голос
/ 26 января 2012
  • Вы можете переопределить ActionResult в действии вашего контроллера, чтобы вернуть KMLResult
  • Действие может быть защищено с помощью атрибута Authoize (и логина)
  • Теперь вы можете использовать KML Layer

IMO загрузка файла на клиентский ПК для загрузки на Javascript, не очень хорошая идея.

...