In an organization, for example one project might be on a completely different place than another project. So we need to be able to configure that in some way. So lets introduce a small, simple but useful module for Bing Maps. The Configuration Module.
So far you can specify the ViewOptions parameters in the configuration file.
The configuration file is a JSON file and pretty straight forward. For example:
{
"bounds": {
"center": {
"latitude": 62.5,
"longitude": 17.2
},
"width": 1,
"height": 1
},
"center": {
"latitude": 62.5,
"longitude": 17.2
},
"centerOffset": {
"point": {
"x": 1000,
"y": 1000
}
},
"credentials": "{YOUR BING MAPS KEY HERE}",
"heading": 45,
"labelOverlay": "hidden",
"mapTypeId": "aerial",
"padding": 100,
"zoom": 2
}
When the configuration file is in place you simple load the configuration and supply it as a parameter to the Bing Maps Map class such as:
function loadMap() {
var elem = document.querySelector("#map");
Microsoft.Maps.registerModule("ConfigurationModule", "scripts/ConfigurationModule.js");
Microsoft.Maps.loadModule("ConfigurationModule", {
callback: function () {
getConfig(function (jsonConfig) {
var config = ConfigurationModule.getConfig(jsonConfig);
new Microsoft.Maps.Map(elem, config);
})
}
});
}
var getConfig = function (callback) {
var request = new XMLHttpRequest();
request.addEventListener("load", function () {
var config = JSON.parse(this.responseText);
callback(config);
});
request.open("GET", "configuration.json");
request.send();
};
You will find the module among the other Bing Maps Modules on Codeplex.
Inga kommentarer:
Skicka en kommentar