In mid-February the Google Map API changed and this in turn affected rendering many of the Map images used in SNIP. This article describes how to easily edit one of your SNIP support files to restore the map functionality. This problem is also resolved by simply updating to SNIP Rev 3.09 or later.
Update – May 12th
They (Google) did it to us again!
Now they removed Rev 3.00 support (without warning) on May 10th,
So we must move to the Google API Rev 3.51
You need do the steps below to get the general map to work for you again.
The next release of SNIP (Rev 3.10) will have this change as part of the installer.
Affected parts of SNIP
The “general” map was affected and no longer renders the base map, showing only an empty page frame, the map legend at the bottom of the page, and the two combo boxes that allow selecting either Base Stations or Users as the map center point. No base map images are displayed.
Non-Affected parts of SNIP
Maps drawn with the Web API (a Pro model feature).
Maps showing the Base Station and Its connected users with a baseline drawn between each.
Maps showing the last point of an NTRIP Client as part of a connection report.
Maps showing the path of an NTRIP Client (rover devices) with various themes.
Maps showing the location of a Base Station from the SNIP Status report window.
How to fix this.
First, we recommend you always upgrade to the newest release, which resolves this issue and provides a number of other features and improvements. It is also a best practice to make a backup of all your settings before starting; use the menu item Misc ⇒ Back Up ⇒ Back Up Now to do this. [Rev 3.09 has been released at this time, install that and you are done.]
These instructions apply ONLY to SNIP Release 3.08, although they will also work on earlier editions of SNIP.
You do not need to stop SNIP in order to make these edits, but you will need to restart SNIP to have them take effect (this file is read only once during start-up).
Please do the following:
Find the file MapView.html It is normally found at: C:\Program Files (x86)\SNIP\bin\map\MapView.html This is the file you will edit. Make a copy before starting in case you make a mistake. You can edit this with any common text editor, such as Notepad (or NotePad++ which is a free alternative with much better features).
For users of SNIP Rev 3.08 and all prior revisions:
Find and Edit the line below (this is line 42 of the file)
<script src="https://maps.googleapis.com/maps/api/js?key=XXX"></script>
Replace it with this line
<script src="https://maps.googleapis.com/maps/api/js?key=XXX&v=3.51&callback=Function.prototype"></script>
Save the file. Restart SNIP.
For users of SNIP Rev 3.09
Find and Edit the line below (this is line 45 of the file)
<script src="https://maps.googleapis.com/maps/api/js?key=XXX&v=3&callback=Function.prototype"></script>
Replace it with this line
<script src="https://maps.googleapis.com/maps/api/js?key=XXX&v=3.51&callback=Function.prototype"></script>
Save the file. Restart SNIP.
What you have done by the above is force the map to load and use a specific version of the API where the problem does not occur (version 3.51). The prior default setting used the most current ‘weekly’ release from Google, which implemented the new changes that caused these problems. Version/revision 3.52 caused the original problem, and all prior revisions all also worked. The above selects 3.51 for use (because they dropped 3.00, which we switched to using the 1st time, after stating it would be supported). [Aside; future releases of SNIP, those beyond Rev 3.09, will in fact use newer versions and therefore the above file should not be edited.]
Again, you must Restart SNIP this this to take effect.
Confirm it works. Try the map (menu item Reports ⇒ Map View… ) and ensure you now see a base map. [Aside: When SNIP first starts it does not have the correct location of every Base Station. This can take as long as 90 seconds, after which the parsed Base Stations are drawn on the map with precise locations.]
Consider updating to the most current release of SNIP as a better way to resolve this issue.
More Details
As you can no doubt tell from the tone of this article, we more than a little annoyed with the Goggle Map API team for these surprise changes. If you want to see their side of the story (in other words why they caused deployment problems for thousands of developers by disabling support for long term releases) see this article on the new versioning policies: https://developers.google.com/maps/documentation/javascript/versions The primary takeaway is that we can no longer relay on them to provide a stable API for SNIP Caster users. Many of our deployments do not care to update their otherwise stable system every other month when the latest SNIP release comes out. As a reaction to this, we will soon be moving to a new system where the key map templates are loaded from one the SNIP support servers when the local copy of SNIP first starts. This should eliminate the need for unplanned updates if the Goggle Map API team makes any further arbitrary changes.