If you are experimenting some strange issues (maps goes blank, some elements of the maps are not displayed) using the Google Maps API from a desktop application.
This is because the JavaScript API v3 no longer supports the IE7 and IE8 rendering mode, as is stated on this document https://developers.google.com/maps/documentation/javascript/browsersupport.
The workaround is very simple just add the V=3 parameter to the script tag, So if you script looks like this
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
Change to
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=true"></script>
Note : If you do not explicitly specify a version in your JavaScript API bootstrap request, you will receive the experimental version by default (3.22) which not longer supports the IE8.
Another option is tweak the Windows registry how is shown here.
By the way I just updated all the Google Maps related code of this blog (Check the updated code on Github).
Some additional references
- Using the Google Maps API V3 from Delphi – Part I Basic functionality
- Using the Google Maps API V3 from Delphi – Part II Styled Maps
- Using the Google Maps API V3 from Delphi – Part III Getting the latitude and longitude of a mouse click
- Google Maps Javascript API – Versioning
- Google Maps Javascript API – Relesea Notes
- https://code.google.com/p/gmaps-api-issues/issues/detail?id=8750
- https://code.google.com/p/gmaps-api-issues/issues/detail?id=8754
Regards
Rodrigo.
October 19, 2015 at 4:54 pm
Thank you. I have a problem …
I downloaded the 5 files from here: https://github.com/RRUZ/blog/tree/master/Google/Maps/Google%20Maps%20Basic%20Sample
I tried to open the project using Delphi XE2.
This error occurs: [image: Inline image 1]
How to fix?
Thank you.
October 19, 2015 at 5:20 pm
Which is the error?
October 20, 2015 at 2:32 am
It also help to add
October 20, 2015 at 3:32 am
Thank you.
October 20, 2015 at 3:43 am
Reblogged this on burningrump.
October 20, 2015 at 11:10 pm
Adding ?v=3 will buy you a few months as you’re pinning to the ‘release’ version instead of the ‘experimental’ one [1], but in 3-6 months the last version (3.21) which supports IE8 will be no longer available once it’s time as the ‘frozen’ version winds down.
The registry tweak or figuring out how to get a more updated rendering engine in the web control is your best bet for a long term solution.
[1] https://developers.google.com/maps/documentation/javascript/versions
October 21, 2015 at 11:40 am
Thanks for the info.