123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- /**
- * Copyright (c) 2011 Nokia Corporation.
- */
- // Predefined values (optional)
- var defs = {
- types : {
- normal : 0,
- satellite : 1,
- terrain : 2,
- hybrid : 3,
- transit : 4,
- grey : 5
- },
- languages : {
- eng : "eng",
- chi : "chi",
- ger : "ger",
- fre : "fre",
- ita : "ita",
- spa : "spa",
- rus : "rus"
- }
- };
- /**
- * Constructor.
- */
- function StaticMap(jsonData)
- {
- this.jsonData = jsonData ? jsonData : {};
- }
- /**
- * Returns Ovi Map URL.
- */
- StaticMap.prototype.getUrl = function()
- {
- var jsonData = this.jsonData;
- var url = "";
- // Server
- url += jsonData.server ? jsonData.server : "http://m.ovi.me/";
- url+= "?nord";
- // Center coordinates
- if (jsonData.center && jsonData.center.lat && jsonData.center.lon) {
- url += "&c="
- + jsonData.center.lat
- + ","
- + jsonData.center.lon;
- }
- // Radius
- if (jsonData.radius && jsonData.radius.value && jsonData.radius.value != 0) {
- url += "&r="
- + jsonData.radius.value
- // Use unit if available
- + (jsonData.radius.unit ? jsonData.radius.unit : "");
- }
- else {
- // Zoom (ignored if radius is defined)
- if(jsonData.zoom) {
- url += "&z="
- + ((jsonData.zoom <= 20 && jsonData.zoom > 0) ? jsonData.zoom : 15);
- }
- }
- // Uncertainty
- if (jsonData.uncertainty
- && jsonData.uncertainty.value
- && jsonData.uncertainty.value != 0)
- {
- url += "&u="
- + jsonData.uncertainty.value
- // Use unit if available
- + (jsonData.uncertainty.unit ? jsonData.uncertainty.unit : "");
- }
- // Map type
- if (jsonData.maptype) {
- url += "&t="
- + jsonData.maptype;
- }
- // Width
- if (jsonData.size && jsonData.size.width) {
- url += "&w="
- + jsonData.size.width;
- }
- // Height
- if (jsonData.size && jsonData.size.height) {
- url += "&h="
- + jsonData.size.height;
- }
- // Language
- if (jsonData.language) {
- url += "&ml="
- + jsonData.language;
- }
- // Overlay-options
- if (jsonData.overlays) {
- // Scalebar
- if (jsonData.overlays.scale) {
- url += "&sb=km,mk";
- }
- // Pointer dot
- if (!jsonData.overlays.dot) {
- url += "&nodot";
- }
- }
- return url;
- }
- /**
- * Returns Ovi Map URL for use in CSS (adds "url" and brackets).
- */
- StaticMap.prototype.getCSSUrl = function()
- {
- return 'url("' + this.getUrl() + '")';
- }
- // End of file.
|