如何验证bing映射的API密钥

how to validate bing maps api key?

本文关键字:映射 API 密钥 bing 何验证 验证      更新时间:2023-09-26

我正在使用传单bing地图插件。我如何验证必应地图api键之前,它是由传单使用?

如果我允许像这样使用一个无效的键:

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

然后bing映射报告:

"传单Bing插件错误-获得元数据:访问被拒绝。您可能输入了错误的凭证,或者您可能无法访问所请求的资源或操作。"

然后map.removeLayer(baseMapUrl);移除层失败

您需要使用以下网站创建自己的密钥:http://www.bingmapsportal.com/

一旦你用微软账号(又名Live ID)登录,你将能够根据你的使用情况生成几个密钥。有关密钥类型的更多信息,请查看此处的MSDN: http://msdn.microsoft.com/en-us/library/ff428642.aspx

这真的很丑,但这里有一个'解决方案'。

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();