0

Я разрабатываю приложение javascript/html для WP8.1 [WinJS 4.3/HTML] в Visual Studio Community 2015, и теперь я участвую в реализации карты.Visual Studio 2015: невозможно ссылаться на библиотеку Bing Maps

К сожалению, я, похоже, не могу ссылаться на javascript api (bing ajax) ... Похоже, что реализация этого в моем сводном элементе не получает библиотеку должным образом (совсем не обязательно). Следуя инструкциям здесь https://msdn.microsoft.com/en-us/library/gg427624.aspx загрузить библиотеку с сервера:

<script charset="UTF-8" type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 

перестает ссылаться на него и с помощью «Microsoft». пространство имен заканчивается ошибкой.

Итак, я попытался установить расширение бинговых карт для VS, которое устанавливается, но я не могу добавить ссылку на расширение в моем VS2015-сообществе. https://visualstudiogallery.msdn.microsoft.com/224eb93a-ebc4-46ba-9be7-90ee777ad9e1

<script type="text/javascript" src="ms-appx:///Bing.Maps.JavaScript//js/veapicore.js"></script> 

Но это снова не имеет никакого успеха.

Так что я застрял без библиотеки и любой карты. Любая вероятность того, что будет автономная версия bing-карт javascript api, я могу скачать и ссылаться так же, как WinJS.

ответ

0

Это было освещено в блоге Bing Maps и было темой на Microsoft // Build/conference в этом году. Вот видео: https://channel9.msdn.com/Blogs/Best-of-Build-2015-Cloud/Visualizing-Business-Data-on-any-Device-with-Bing-Maps

Вот в блоге: https://blogs.bing.com/maps/2013/06/28/cross-platform-development-with-bing-maps-and-phonegap/

В принципе, вам нужно будет использовать веб-URL:

<script charset="UTF-8" type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 

Но когда вы идете, чтобы загрузить карту, вы сможете необходимо подождать, пока пространство имен Microsoft станет доступным. Альтернативно загружайте карту в событие document.body.onload. Вот как вы можете ждать имен Microsoft перед загрузкой карты:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 
    <script type="text/javascript"> 
     var map = null; 

     function getMap() 
     { 
      var mapElement = document.getElementById('myMap'); 

      if (typeof Microsoft == 'undefined' || 
       typeof Microsoft.Maps == 'undefined' || 
       mapElement == null) { 
       setTimeout(getMap, 100); 
       return; 
      } 

      map = new Microsoft.Maps.Map(mapElement, { credentials: 'Your Bing Maps Key' }); 
     } 

     getMap(); 
    </script> 
</head> 
<body> 
    <div id='myMap' style="position:relative; width:400px; height:400px;"></div> 
</body> 
</html> 
+0

К сожалению, я все еще вижу ошибку: я все еще получаю эту ошибку. "APPHOST9601: Не удается загрузить Приложение не может загружать удаленный веб-контент в локальном контексте." , хотя я допускаю этот конкретный URL-адрес в в манифесте приложения. Я должен делать что-то неправильно. – belzebu

+1

Вы создаете приложение WP8.1 Apache Cordova в VS2015 или приложение Universal Windows? Вышеизложенное отлично работает с Кордовой. Для безопасности универсальных приложений это предотвращает это.Способом этого является использование iframe, как показано в этом примере кода: https://code.msdn.microsoft.com/windowsapps/Mashup-Sample-10689f5b – rbrundritt

+1

Вот статья, которая идет с образцом кода: https://msdn.microsoft.com/library/windows/apps/hh452745?f=255&MSPPError=-2147217396 – rbrundritt

0

Пример вы вывесили все еще кажется, что он предназначен для использования веб-страницы, так что это ссылки на внешние файлы JS.

С приложениями для Windows, если вам когда-либо приходилось вызывать JS-файл, он никогда не может быть внешним, поэтому, если вы когда-нибудь увидите пример с src = "http: // ...", это не сработает или у вас будет загрузить его локально.

Попробуйте эту ссылку: https://msdn.microsoft.com/en-us/library/hh852186.aspx

Он переключается на все локальные ссылки.

В этой статье также есть полный пример, который помог мне получить мою версию.

Теперь, если они только портировали вариант офлайн-карт ...

Смежные вопросы