Сценарий выглядит следующим образом:VEMap и корм GeoRSS (поддерживаемый отдельно)
веб-служба ФОС существует, что выводит правильный канал GeoRSS. Это живет в своем собственном домене, так как к нему доступны различные приложения.
Веб-страница (на другом сайте) была создана с экземпляром объекта VEMap (объект Bing/Virtual Earth map).
Теперь VEMap может принимать подачу входного сигнала в этом формате с помощью следующих действий:
var layer = new VEShapeLayer();
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "someurl", layer);
map.ImportShapeLayerData(veLayerSpec, onComplete, true);
OnComplete является функцией обратного вызова, я использую, чтобы заменить контактную графический по умолчанию с чем-то обычаем.
Вопрос в отношении «someurl», который представляет собой путь к локальному файлу xml, содержащему географическую информацию (простой формат georss). Я понял этот канал, и карта должна быть размещена в том же домене, поэтому я создал общий обработчик, который читает удаленный канал и возвращает его в том же формате.
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "/somelocalhandler.ashx", layer);
Когда я это делаю, я получаю ошибку VEMap ("z is null"). Это та же ошибка, которую можно получить при попытке получить доступ к удаленному каналу. Когда я копирую фид в локальный XML-файл (т. Е. «Feed.xml»), ошибки не возникает.
Порядок операций в настоящее время: дистанционное питание -> локальный обработчик -> VEMap импорт
Если я более усложняя эту процедуру, дайте мне знать! Я немного новичок в API Bing Maps и, возможно, что-то пропустил. Любая помощь приветствуется.