как проверить ключ API карт Bing?

Я использую плагин для листовок Bing Maps. Как я могу проверить ключ API карт Bing, прежде чем он будет использоваться листовкой?

Если я разрешаю использовать недопустимый ключ следующим образом:

var bing_key = "funTimeWithBingMaps"
baseMapUrl = new L.BingLayer(bing_key)

Затем Bing Maps сообщает:

«Ошибка подключаемого модуля Leaflet Bing — получены метаданные: доступ запрещен. Возможно, вы неправильно ввели свои учетные данные или у вас нет доступа к запрошенному ресурсу или операции».

И тогда map.removeLayer(baseMapUrl); не удается удалить слой.


person Bwyss    schedule 25.08.2014    source источник


Ответы (2)


Вам необходимо создать собственный ключ с помощью этого веб-сайта: http://www.bingmapsportal.com/.

После того, как вы вошли в систему с учетной записью Microsoft (также известной как Live ID), вы сможете сгенерировать несколько ключей в зависимости от вашего использования. Дополнительные сведения о типе ключа см. в MSDN здесь: http://msdn.microsoft.com/en-us/library/ff428642.aspx

person Nicolas Boonaert    schedule 25.08.2014

Это действительно некрасиво, но вот «решение».

var map, osm, bing, count_down = 50;

    function first_part()
    {
    map = new L.Map('map', {center: new L.LatLng(67.6755, 33.936), zoom: 10 });
    osm = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');

    bing = new L.BingLayer("MyBingApiKeyGoesHere");
    setTimeout(function () { second_part(bing); }, 100);
    }

    function second_part(binz)
    {
        if (typeof(binz.meta.statusCode) == 'undefined') {
            count_down--;
            if (count_down == 0) {
                alert("abandon operation");
                return;
            }
            setTimeout(function () { second_part(binz); }, 100);
            return;
            }
        if (binz.meta.statusCode == 200) {
            alert("OK");
            map.addLayer(bing);
            map.addControl(new L.Control.Layers({'OSM':osm, "Bing":bing}, {}));
            }
        else {
            alert("WRONG: count_down: "+count_down+"  statusCode: "+binz.meta.statusCode);
            }
    }

    first_part();
person Bwyss    schedule 25.08.2014