2015-07-06 4 views
0

Я создал учетную запись Big Maps и сгенерировал ключ CredentialsProvider.Bing Map Неверные учетные данные

Я использовал это в тестовом приложении я написал, используя следующее:

<wpf:Map CredentialsProvider="MyCredentialsProviderKey" Width="250" Height="250"/> 

Карта показывает вверх, все работает как часы.

Я переместил все это в мой проект, и я получаю Invalid Credentials всякий раз, когда отображается карта. Тот же ключ, то же самое, что и тестовый проект.

Я абсолютно недоумеваю, почему это происходит. Я прочитал некоторые ответы здесь, некоторые предлагают установить свойство Culture, я сделал это, но безрезультатно.

Существует, очевидно, некоторая собственность или настройка, которые заставляют это вести себя таким образом.

+0

При работе на производстве вы используете ту же сеть и компьютер, что и при тестировании? В противном случае это может быть связанная с сетью проблема, которая блокирует запрос аутентификации. Попробуйте просмотреть сетевой трафик и посмотреть URL-адрес службы ведения журнала с Bing Maps. – rbrundritt

+0

@ rbrundritt такой же машина, такой же сеть. =/ – Puzzled

+0

Итак, в этом случае убедитесь, что на карте фактически установлен ключ Bing Maps. Убедитесь, что не была ошибка копирования или вставки (т. Е. Отсутствует последний символ). – rbrundritt

ответ

0

Я нашел решение проблемы, хотя это не изящно.

Я создал IMultiValueConverter, который принимает мой Latitude, Longitude, Map (Bing Map Control), и возвращает Location (который используется Big Map Control).

Вот мой XAML:

<wpf:Map Width="250" Height="250" x:Name="BingMapControl"> 
    <wpf:Pushpin> 
     <wpf:Pushpin.Location> 
      <MultiBinding Converter="{StaticResource LatitudeLongitudeToLocationConverter}"> 
       <Binding Path="LatitudeCoordinate"/> 
       <Binding Path="LongitudeCoordinate"/> 
       <Binding Path="." ElementName="BingMapControl"/> 
      </MultiBinding> 
     </wpf:Pushpin.Location> 
    </wpf:Pushpin> 
</wpf:Map> 

В этом преобразователе я сделать этот вызов:

var cp = map.CredentialsProvider as ApplicationIdCredentialsProvider; 

if (string.IsNullOrEmpty(cp.ApplicationId)) 
    cp.ApplicationId = "MyBingMapKey"; 

Это все еще озадачивает меня, почему CredentialsProvider не быть установлена, когда я попытался сделать это в XAML.

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