locked
Как отследить, что слой карты Bing не рисуется? RRS feed

  • Вопрос

  • Использую карты Bing в своем приложении (Microsoft.Phone.Controls.Maps):
    <maps:Map x:Name="map" />

    Если нет соединения с Интернетом, то вместо карты ничего не отображается. Но точку на карте по координатам показать можно.
    Как отследить, что слой карты Bing не рисуется? Можно ли по таймауту отобразить что-то вместо карты?

    23 мая 2012 г. 17:12

Ответы

  • Можно проверять, есть ли соединение с Интернетом и если нет, то отображать, какой-нибудь мессадж.
    • Помечено в качестве ответа Abolmasov Dmitry 30 мая 2012 г. 12:17
    24 мая 2012 г. 3:10
  • Скорей всего как предложили - проверять соединение с интернетом (WP7 Development Tip of the Day: Checking for an internet connection), и если его нет, то вместо кнотрола карты показывать, либо другой контрол с ошибкой или чем-то еще, либо показывать сообщение о том что для работы приложения требуется соединение с интернетом.

      bool isNetworkAvaiable =  NetworkInterface.GetIsNetworkAvailable()


    Для связи [mail]

    • Помечено в качестве ответа Abolmasov Dmitry 30 мая 2012 г. 12:17
    25 мая 2012 г. 7:13

Все ответы

  • Можно проверять, есть ли соединение с Интернетом и если нет, то отображать, какой-нибудь мессадж.
    • Помечено в качестве ответа Abolmasov Dmitry 30 мая 2012 г. 12:17
    24 мая 2012 г. 3:10
  • Скорей всего как предложили - проверять соединение с интернетом (WP7 Development Tip of the Day: Checking for an internet connection), и если его нет, то вместо кнотрола карты показывать, либо другой контрол с ошибкой или чем-то еще, либо показывать сообщение о том что для работы приложения требуется соединение с интернетом.

      bool isNetworkAvaiable =  NetworkInterface.GetIsNetworkAvailable()


    Для связи [mail]

    • Помечено в качестве ответа Abolmasov Dmitry 30 мая 2012 г. 12:17
    25 мая 2012 г. 7:13
  •   bool isNetworkAvaiable = NetworkInterface.GetIsNetworkAvailable()


    Нет, так не интересно. Например, для картинки я сделал так. Приложение пытается скачать картику и показать его. Если через 10 секунд не получается, то показывается специальная локальная картинка. А можно сразу задать эту картинку с изображением загрузки. А при ошибке - опять специальную локальную картинку.
    26 мая 2012 г. 7:57
  • Помоему стандартно таймаут с контрола карты перехватить не получится, там просто нет такого события. Можно пробовать выполнять какой-либо любой тестовый запрос к своему или другому серверу и от него получать таймаут, если интернет действительно отсутствует.


    Для связи [mail]

    28 мая 2012 г. 9:51
  • Это тоже не панацея, так как если сервер будет выключен или будет по каким-то другим причинам не доступен, то все клиентские приложения решат, что интернета нет.
    28 мая 2012 г. 10:03