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 82.8k 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.
    • A Offline
      alexyak @tyho
      last edited by

      @tyho so what exactly you’re trying to implement? What would be a use case here for the MM?

      1 Reply Last reply Reply Quote 0
      • T Offline
        tyho
        last edited by tyho

        @alexyak What i tried to create is a map view from my home to my work. With on this map the trafficjam/delay. (google can do with the red orange green lines and bing with the triangles). With this map i can see in the morning when i wake up, if i have to leave earlier because of traffic jam. This where my first thoughts for the module. (but with my ms frontpage experience i can’t get this working ^^)

        As a second thought i had in mind to use your voice module (or facial recgnition module) to switch between my map and that of my girlfriend. So another map is loaded.

        In the google static map that i already created there is no option to add a traffic layer.

        In both google maps and bing maps there are style options to make the map black and white for better display. and for example the traffic jam could be red displayed.

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          alexyak @tyho
          last edited by

          @tyho alright, now I understand your requirements… I can’t promise, but will try to have a look at this over a few coming days.

          1 Reply Last reply Reply Quote 0
          • T Offline
            tyho
            last edited by

            @alexyak that would be awesome. I guess there will be much interest for a module like this looking on the topic views ^^

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              alexyak @tyho
              last edited by alexyak

              @tyho

              Here’s a basic module traffic map module to display a static map with a route and traffic based on bing api’s:

              'use strict';
              
              Module.register('maproute',{
              	
              	defaults: {
                      key: "your_bing_map_key",
                      start: "Morganville, NJ",
                      end: "New York, NY",
              	},
              	
              	start: function() {
              		Log.info('Starting module: ' + this.name);
              	},
              
                      // Override dom generator.
              	getDom: function() {
              		var wrapper = document.createElement("img");
                              wrapper.style = "position:center; width:600px; height:600px;";
                              wrapper.src = "http://dev.virtualearth.net/REST/V1/Imagery/Map/Road/Routes?wp.0=" + this.config.start + ";46&wp.1=" + this.config.end + ";46&mapLayer=TrafficFlow&TravelMode=Driving&mapSize=600,600&key=" + this.config.key;
              		return wrapper;
              	}
              
              });
              

              Unfortunately there’s no way to change the style of the map on bing (black and white). You can get your map key from here:

              https://www.bingmapsportal.com/

              Thanks… Alex

              T 1 Reply Last reply Reply Quote 1
              • T Offline
                tyho @alexyak
                last edited by

                @alexyak Thnx for the module! I will try it when i am home :)

                1 Reply Last reply Reply Quote 0
                • W Offline
                  wscheer
                  last edited by

                  @tyho @alexyak

                  Wow guys thanks! I was a few steps behind tyho trying to get the google maps traffic option to work. I searched every few weeks for this and finally came upon this thread. I have a traffic map on my magic mirror now!!!

                  For any super beginners (like myself) here are a few notes to add this to my magic mirror page.

                  • Create a dir in your modules dir (ex: MagicMirror/modules/maproute/
                  • Create a file called maproute.js (ex: MagicMirror/modules/maproute/maproute.js) This is where you copy in the code above that alexyak posted
                  • Edit your config.js file to add the module to your page:
                    I don’t think position and config are required but I stuck them in there and it works ok.
                  {
                                        module: 'maproute',
                                        position: 'top_right',
                                        config: {}
                                  },
                  
                  

                  Restart your pi or restart the magic mirror service and you should be all set!

                  If I missed anything or anything is wrong, please let me know

                  The map is cut off in my screenshot but I haven’t changed the sizing or anything yet.

                  0_1473042805581_magicmirror-bingtraffic.jpg

                  S 1 Reply Last reply Reply Quote 2
                  • S Offline
                    shgmongohh @wscheer
                    last edited by

                    @wscheer

                    Thanks for the little tutorial!
                    Could you please explain, with which module do you calculating the current time to your work and mom?

                    Sebastian

                    strawberry 3.141S 1 Reply Last reply Reply Quote 0
                    • strawberry 3.141S Offline
                      strawberry 3.141 Project Sponsor Module Developer @shgmongohh
                      last edited by

                      @shgmongohh [card:SamLewis0602/MMM-Traffic]

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

                      N 1 Reply Last reply Reply Quote 1
                      • N Offline
                        Notumlord @strawberry 3.141
                        last edited by

                        @strawberry-3.141 said in Trafficmaps:

                        @shgmongohh [card:SamLewis0602/MMM-Traffic]

                        Hijacking this thread since i cant find one specific for MMM-Traffic.

                        I can only get the “driving” mode to work with MMM-Traffic, if i anything else it’s stuck on Loading Commute.
                        Anyone else have this issue?

                        strawberry 3.141S MitchfarinoM 2 Replies Last reply Reply Quote 0
                        • strawberry 3.141S Offline
                          strawberry 3.141 Project Sponsor Module Developer @Notumlord
                          last edited by

                          @Notumlord if the author is not registered in this forum, then the best way would be to open an issue on github https://github.com/SamLewis0602/MMM-Traffic/issues

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

                          1 Reply Last reply Reply Quote 0
                          • MitchfarinoM Offline
                            Mitchfarino Module Developer @Notumlord
                            last edited by

                            @Notumlord @strawberry-3-141

                            I have these two working fine for me in my config

                            	{
                            		module: 'MMM-Traffic',
                            		position: 'bottom_right',
                            		classes: 'dimmed medium', //optional, default is 'bright medium', only applies to commute info not route_name
                            		config: {
                            			api_key: '',
                            			mode: 'bicycling',
                            			origin: 'my origin',
                            			destination: 'my destination',
                            			route_name: 'Home to Work',
                            			changeColor: true,
                            			showGreen: false,
                            			limitYellow: 5, //Greater than 5% of journey time due to traffic
                            			limitRed: 20, //Greater than 20% of journey time due to traffic
                            			traffic_model: 'pessimistic',
                            			interval: 120000 //2 minutes
                            		}
                            	},
                            	{
                            		module: 'MMM-Traffic',
                            		position: 'bottom_right',
                            		classes: 'dimmed medium', //optional, default is 'bright medium', only applies to commute info not route_name
                            		config: {
                            			api_key: '',
                            			mode: 'driving',
                            			origin: 'my origin',
                            			destination: 'my destination',
                            			route_name: 'Home to Work',
                            			changeColor: true,
                            			showGreen: false,
                            			limitYellow: 5, //Greater than 5% of journey time due to traffic
                            			limitRed: 20, //Greater than 20% of journey time due to traffic
                            			traffic_model: 'pessimistic',
                            			interval: 120000 //2 minutes
                            		}
                            	},
                            
                            N 1 Reply Last reply Reply Quote 0
                            • N Offline
                              Notumlord @Mitchfarino
                              last edited by

                              @Mitchfarino
                              Strange, do you use the exact same origin/destination for both modules or do you format them differently depending on the mode?

                              MitchfarinoM 1 Reply Last reply Reply Quote 0
                              • MitchfarinoM Offline
                                Mitchfarino Module Developer @Notumlord
                                last edited by

                                @Notumlord exactly the same origin and destination, using my postcode for home as the origin and postcode for work as the destination

                                If you want to share your sample config, I can put it in my mirror to see if it works

                                1 Reply Last reply Reply Quote 0
                                • W Offline
                                  wscheer
                                  last edited by

                                  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);
                                  	},
                                  });
                                  
                                  strawberry 3.141S 1 Reply Last reply Reply Quote 0
                                  • strawberry 3.141S Offline
                                    strawberry 3.141 Project Sponsor Module Developer @wscheer
                                    last edited by strawberry 3.141

                                    @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

                                      @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 Reply Quote 1
                                      • J Offline
                                        Jeff @wscheer
                                        last edited by

                                        @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 Reply Quote 0
                                        • W Offline
                                          wscheer @Jeff
                                          last edited by

                                          @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 Reply Quote 0
                                          • J Offline
                                            Jeff @wscheer
                                            last edited by

                                            @wscheer

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

                                            W 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • 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