我正在使用传单bing maps插件。 如何在传单使用之前验证bing maps api密钥?
如果我允许使用无效密钥:
var bing_key = "funTimeWithBingMaps"
baseMapUrl = new L.BingLayer(bing_key)
然后bing地图报告:
" Leaflet Bing插件错误 - 获得元数据:访问被拒绝。您可能输入的凭据不正确,或者您可能无法访问所请求的资源或操作。"
然后map.removeLayer(baseMapUrl);
无法移除图层。
答案 0 :(得分:0)
您需要使用以下网站创建自己的密钥:http://www.bingmapsportal.com/
使用Microsoft帐户(也称为Live ID)登录后,您将能够根据您的使用情况生成多个密钥。有关密钥类型的更多信息,请在此处查看MSDN:http://msdn.microsoft.com/en-us/library/ff428642.aspx
答案 1 :(得分:0)
这真的很丑,但这是一个解决方案'。
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();