Я не думаю, что этот пример представляет кмл. Это выглядит как esri shapefile для моего неподготовленного глаза. Тем не менее, я уверен, что вы могли бы сделать гибрид между Bing и GE, но прочитайте лицензию для ограничений.
Брэд Несом
Ничего общего с ESRI шейп-файлы Брэд. Из API doco - msdn.microsoft.com/en-us/library/bb412413.aspx Класс VEShapeLayer Содержит информацию о слоях фигур. Слои фигур - это механизм для создания и управления произвольными группами фигур (канцелярские кнопки, полилинии и полигоны). Слои фигур карты можно создавать из XML-файлов GeoRSS, пользовательских листов карты или из любой общедоступной коллекции Bing Maps ( maps.live.com ).
user2856
Ответы:
2
Как упоминалось выше, GeoRSS и KML не поддерживаются. Однако кто-то написал интерпретатор GeoRSS для Bing Maps v7. А поскольку файлы KML и GeoRSS являются XML, вы можете легко конвертировать их между собой, используя XSL. Некоторая охота показывает, что многие говорили об этом, но я не могу найти ни одного реального XSL-файла, который бы это делал. Однако я обнаружил, что тот, кто сделал наоборот, преобразовал GeoRSS в KML , что должно дать вам хорошее представление о том, с чего начать, если вы написали свой собственный.
Если вам нужно сделать это только один раз, вы можете использовать следующие два веб-сайта для преобразования KML в GeoRSS через CSV:
И последний вариант - просто написать свой собственный интерпретатор KML, точно так же, как кто-то написал свой собственный интерпретатор GeoRSS , согласно @Derek.
Я в замешательстве ... как GeoRSS поддерживается API Bing Maps? Довольно сложно сказать, что написание собственного кода синтаксического анализа считается «поддерживаемым».
Дерек Суингли
Извините, это не поддерживается, но у поста, на который я ссылался, есть интерпретатор для использования GeoRSS в Bing v7 с jQuery. Я перепишу, чтобы быть более понятным.
Если поддержка KML имеет решающее значение, вы можете использовать ArcGIS API Esri для JavaScript, поскольку он поддерживает общедоступные слои KML . Полное раскрытие: я работаю в Esri в команде JavaScript API.
Любопытно: мне трудно прочитать лицензию ESRI для JSAPI. Кто-нибудь может использовать jsapi для публикации карт? Например, могу ли я использовать JSAPI для отображения карт bing и не нарушать какие-либо лицензии ESRI? То же самое для Google, OSM, ESRI Public Tiles? Или необходимо, чтобы пользователь был пользователем ArcGIS Server? ПР открыт, но есть ли JSAPI?
приблизительно
1
@ user2023 Мы обсуждали внутреннее лицензирование JSAPI и согласны, что история неясна. Мы работаем над улучшением этого и планируем обновить несколько страниц, чтобы отразить более простую и понятную историю лицензирования. Пока мы не обновим различные страницы, история такова: используйте JSAPI для внутренних, внешних, некоммерческих и коммерческих сайтов / приложений бесплатно. Вам не нужно платить, если вы не начнете хранить большой объем данных на arcgis.com и не используете сервисы (геометрия, локатор / геокодирование и маршрутизация) на arcgis.com.
Дерек Суингли
2
Bing Maps 7.0 не включает конвертер KML. Но поскольку он использует объекты JavaScript для отображения данных на карте (см. Bing API ), вы можете вручную проанализировать kml и преобразовать его в соответствующие объекты.
В этом примере кода я использую JavaScript для преобразования данных многоугольника KML в новые объекты Microsoft.Maps.Polygon. Затем я бы использовал приведенный ниже код, чтобы добавить полигоны на мою карту Bing.
// Initialize the Map.
var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"), {credentials:"Bing Maps Key"});
// Insert your own code to get your KML string here.
// Parse the kml into Microsoft.Maps.Polygon objects and add them to the map.
var polygons = bingKmlParser.parsePolygons(kmlString);
map.entities.push(polygons);
Ваш KML должен быть в определенной форме? Или это будет работать на любом файле KML?
J86
1
Используйте Openlayers !! Вы можете загрузить файлы KML и установить Bing в качестве слоя базовой карты. И, самое главное, это открытый исходный код, абсолютно стабильный и очень активный проект.
Не совсем ответ на проблему, но хороший обходной путь.
ca0v
0
Как упоминалось в большинстве других постов, не похоже, что KML напрямую поддерживается в элементе управления Ajax Bing Maps v7. Однако я подумал, что стоит упомянуть, что он предположительно поддерживается в графическом интерфейсе карт нормалей. В следующем сообщении в блоге Bing описывается, как можно импортировать KML в Bing Maps «Мои места»:
Ответы:
Как упоминалось выше, GeoRSS и KML не поддерживаются. Однако кто-то написал интерпретатор GeoRSS для Bing Maps v7. А поскольку файлы KML и GeoRSS являются XML, вы можете легко конвертировать их между собой, используя XSL. Некоторая охота показывает, что многие говорили об этом, но я не могу найти ни одного реального XSL-файла, который бы это делал. Однако я обнаружил, что тот, кто сделал наоборот, преобразовал GeoRSS в KML , что должно дать вам хорошее представление о том, с чего начать, если вы написали свой собственный.
Если вам нужно сделать это только один раз, вы можете использовать следующие два веб-сайта для преобразования KML в GeoRSS через CSV:
И последний вариант - просто написать свой собственный интерпретатор KML, точно так же, как кто-то написал свой собственный интерпретатор GeoRSS , согласно @Derek.
источник
Похоже, ответ нет. Я говорю об этом, основываясь на своих документах по SDK и этой теме: Поиск примера KML или GeoRSS в Bing Maps Ajax Control v7 .
Если поддержка KML имеет решающее значение, вы можете использовать ArcGIS API Esri для JavaScript, поскольку он поддерживает общедоступные слои KML . Полное раскрытие: я работаю в Esri в команде JavaScript API.
источник
Bing Maps 7.0 не включает конвертер KML. Но поскольку он использует объекты JavaScript для отображения данных на карте (см. Bing API ), вы можете вручную проанализировать kml и преобразовать его в соответствующие объекты.
В этом примере кода я использую JavaScript для преобразования данных многоугольника KML в новые объекты Microsoft.Maps.Polygon. Затем я бы использовал приведенный ниже код, чтобы добавить полигоны на мою карту Bing.
источник
Используйте Openlayers !! Вы можете загрузить файлы KML и установить Bing в качестве слоя базовой карты. И, самое главное, это открытый исходный код, абсолютно стабильный и очень активный проект.
http://dev.openlayers.org/sandbox/rdewit/kml/examples/kml_wmsc_ows5.html
http://openlayers.org/dev/examples/bing.html
источник
Как упоминалось в большинстве других постов, не похоже, что KML напрямую поддерживается в элементе управления Ajax Bing Maps v7. Однако я подумал, что стоит упомянуть, что он предположительно поддерживается в графическом интерфейсе карт нормалей. В следующем сообщении в блоге Bing описывается, как можно импортировать KML в Bing Maps «Мои места»:
Не совсем то, что искал вопрос, но потенциально полезно для такой ситуации.
источник
Попробуйте этот анализатор kml для карт Bing. пример представлен https://github.com/koldyr/BingKmlParser
источник