• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Trafficmaps

Scheduled Pinned Locked Moved Development
63 Posts 11 Posters 67.2k Views 12 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    wscheer
    last edited by Sep 19, 2016, 4:09 AM

    Hey All,
    I’ve been tinkering around with the Bing Traffic maps a little more. I made it a bit more customizable but I’m having an issue where the map never refreshes.

    I’ve tried calling updateDom() but that does not seem to do anything. I also tried setting the wrapper to ’ ’ before it is set to the bing url path.

    Any ideas?

    Module.register("maproute", {
            defaults: {
                    latitude: '40.4406', // city latitude
                    longitude: '-79.9959', // city longitude
                    map_zoom: '12', // 1 - 21
                    map_layer: 'TrafficFlow', 
                    map_size: '500', // using this for both length and width
                    api_key: '1234567890', //  your bing maps api key
                    updateInterval: 300000 // 5 mins
            },
            getDom: function() {
                    var wrapper = ''; // tried setting this to blank to see if that would clear out the old image
                    wrapper = document.createElement("img");
                    // create the url using the custom parameters
                    wrapper.src = "http://dev.virtualearth.net/REST/v1/Imagery/Map/Road/" + this.config.latitude + "," + this.config.longitude + "/" + this.config.map_zoom + "?mapSize=" + this.config.map_size + "," + this.config.map_size + "&ml=" + this.config.map_layer + "&key=" + this.config.map_key;
                    return wrapper;
            },
    	start: function() {
    		var self = this;
    		setInterval(function() {
    			self.updateDom(); // no speed defined, so it updates instantly.
    		}, this.config.updateInterval);
    	},
    });
    
    S 1 Reply Last reply Sep 19, 2016, 9:39 AM Reply Quote 0
    • S Offline
      strawberry 3.141 Project Sponsor Module Developer @wscheer
      last edited by strawberry 3.141 Sep 19, 2016, 9:40 AM Sep 19, 2016, 9:39 AM

      @wscheer Quote from the readme Whenever your module need to be updated, call the updateDom(speed) method. It requests the MagicMirror core to update it's dom object. If you define the speed, the content update will be animated, but only if the content will realy change. So i guess your html looks all the time the same, so there is probably no real update of the dom. I suggest to try to add an timestamp somewhere and see if it gets updated then

      Please create a github issue if you need help, so I can keep track

      1 Reply Last reply Reply Quote 1
      • W Offline
        wscheer
        last edited by Sep 21, 2016, 3:59 AM

        @strawberry-3-141 Ding! Ding! Ding! That was it! THANK YOU!

        Also thanks again to @alexyak and @tyho for their input.

        I’ll post the code for anyone who wants Bing Traffic maps on their Magic Mirror.

        It’s a little hackish but maybe someone will come along and write it the correct way. Basically I’m taking the pushpin (pp) parameter and just assigning two random numbers to it. Math.random() creates a number between 0 and 1. So the map never shows the pushpin on the area I’m at. This causes the information to be “new” so when updateDom() is called, the info has changed.

        For any beginners, here is my file structure setup:
        The code below is located: /var/www/html/MagicMirror/modules/maproute/maproute.js

        Module.register("maproute", {
                defaults: {
                        latitude: '40.4406', // City latitude. Use google to get these coordinates
                        longitude: '-79.9959', // City longitude
                        map_zoom: '12', // 1 - 21
                        map_layer: 'TrafficFlow', 
                        map_size: '500', // Using this for both length and width
                        api_key: '123456789', // Your Bing maps api key
                        updateInterval: 300000 // 5 min refresh
                },
                getDom: function() {
                        var wrapper = '';
                        wrapper = document.createElement("img");
                        // The Math.random() calls are to place a random pushpin on the map and make the updateDom() call refresh
                        wrapper.src = "http://dev.virtualearth.net/REST/v1/Imagery/Map/Road/" + this.config.latitude + "," + this.config.longitude + "/" + this.config.map_zoom + "?mapSize=" + this.config.map_size + "," + this.config.map_size + "&pp=" + Math.random() + "," + Math.random() + "&ml=" + this.config.map_layer + "&key=" + this.config.map_key;
                        return wrapper;
                },
        	start: function() {
        		var self = this;
        		setInterval(function() {
        			self.updateDom(5000); // I set a 5 second refresh here for testing.
        		}, this.config.updateInterval);
        	},
        });
        
        J Z 2 Replies Last reply Nov 25, 2016, 10:47 PM Reply Quote 1
        • J Offline
          Jeff @wscheer
          last edited by Nov 25, 2016, 10:47 PM

          @wscheer
          Is this modul still working?

          I did everthing you explained:

          in my config.js:

          {
                                module: 'maproute',
                                position: 'middle_center',
                                
                          },
          

          And /var/www/html/MagicMirror/modules/maproute/maproute.js is the code from above.

          I’ve created an API for Bing maps.

          But if I run MM I just see a small image. Like the right picture could not be found.
          And if I look to the report om bing how often my API was used, it counts 0.

          Where is the mistake?

          Thanks

          W 1 Reply Last reply Nov 25, 2016, 11:05 PM Reply Quote 0
          • W Offline
            wscheer @Jeff
            last edited by Nov 25, 2016, 11:05 PM

            @Jeff yeah mine is still working.

            To troubleshoot you could run magic mirror in “standalone” mode. That would let you view the page on a desktop computer and you can look at the browser console to see what the errors are.

            Let me know if you need more instructions on that. I’m on a mobile right now. I could add more later.

            J 1 Reply Last reply Nov 26, 2016, 2:05 AM Reply Quote 0
            • J Offline
              Jeff @wscheer
              last edited by Nov 26, 2016, 2:05 AM

              @wscheer

              Thanks for your quick reply.
              Can you just tell me how to enter the “standalone” mode?
              thanks

              W 1 Reply Last reply Nov 26, 2016, 7:20 AM Reply Quote 0
              • W Offline
                wscheer @Jeff
                last edited by Nov 26, 2016, 7:20 AM

                @Jeff yeah

                execute the following command from the MagicMirror folder: “node serveronly”. This will start the server, after which you can open the application in your browser of choice.

                J 1 Reply Last reply Nov 26, 2016, 10:24 AM Reply Quote 0
                • J Offline
                  Jeff @wscheer
                  last edited by Nov 26, 2016, 10:24 AM

                  @wscheer
                  oh okay, I already did that and the command line said my page was created correctly.
                  But in teh browser it said page not found.

                  I think that’s a different problem and I have to handle that first…

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    Jeff
                    last edited by Nov 27, 2016, 2:22 PM

                    Now I can open the MM in the webbrowser.

                    What should I do now?

                    W 1 Reply Last reply Nov 27, 2016, 5:24 PM Reply Quote 0
                    • W Offline
                      wscheer @Jeff
                      last edited by Nov 27, 2016, 5:24 PM

                      @Jeff Ok so now if you load the page and you still see the broken image, the browser can help you find out what the problem is.

                      If you use firefox, hit F12 and reload the magic mirror page you can see if there are any errors being reported. When I was first testing mine, I had an typo in the api string and I couldn’t really see it until I looked at it in the browser.

                      Let me know if that helps, or post some screenshots of any errors and hopefully I can help :)

                      J 1 Reply Last reply Nov 27, 2016, 7:33 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 7
                      • 5 / 7
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy