Sunday, 21. December 2008, 14:23:04
The definitive guide to Google Maps (currently mostly broken in 9.63) and a tedious fix
There are a number of issues that currently don’t work in maps.google.com. Hallvord asked me to file a new bug report on this. The new bug number is, DSK-242877.This is related to, but more problems then bug DSK-238894 reported in this, Thread
Here is the most serious thing that is NOT working. Changing id’s or masking does not help this issue.
Type in “restaurants 49855.” This will bring up a list of restaurants in Marquette, MI and show their location on a map. If you click on one of the restaurants (in either the left column or map view) it will bring up a bubble with some choices. You should see in the bubble, “Get directions: To here - From here.” If you enter an address into that bubble and hit enter or click on “go” nothing happens.
You can’t find directions to or from your destination!
A tedious fix; copy the address from the pop up bubble and paste it into “Search Maps” box and then type in “to” and the location you want to go to. Hit enter or click on “search maps” and you will be shown directions.
A second somewhat serious issue is if you have a Google account and if you use the “Save address” feature. If you are at maps.google.com, and look to the right of the address box there is a gray triangle pointing down. If you click on this it should bring up a “My Saved Locations” box. You can’t access this no matter what you mask or id as. Would there be any relevance that its a "javascript:void(0) link?
The “My Maps” option now works if you id as Opera, FF, IE, or masking as FF. It will never load if you mask as IE.
The “Featured Content” will only work/show if you mask as FF. The same holds true for “Created by Others.” You have to mask as FF for this to work.
The above paragraph is related to this (Opera knows about this)… Child Iframe bug
If you’ve read this far it seems your best choice is to mask as FF. If you do though you won’t be able to “drag” your routes. That only works if you ID as Opera, FF, or IE.
Friday, 2. January 2009, 17:50:47
Monday, 5. January 2009, 05:56:15
Originally posted by rif:
There are a number of issues that currently don’t work in maps.google.com. Hallvord asked me to file a new bug report on this. The new bug number is, DSK-242877.
Hi rif,
thanks for filing the new report. I've been investigating
As a general point, please try to file one bug report per problem you are seeing. If one report mentions several problems it's easy to loose the overview of them and perhaps not all are sufficiently investigated.
Type in “restaurants 49855.” This will bring up a list of restaurants in Marquette, MI and show their location on a map. If you click on one of the restaurants (in either the left column or map view) it will bring up a bubble with some choices. You should see in the bubble, “Get directions: To here - From here.” If you enter an address into that bubble and hit enter or click on “go” nothing happens.
I've been trying this in 9.6x and 10.x for both maps.google.com, maps.google.no and maps.google.de and unfortunately it seems to work fine for me
Do you have any active User JavaScripts that might interfere with the site?
Do you use any ad filtering- or internet security software that might prevent JavaScript from being loaded correctly?
Do you see any error messages if you go to "Tools > Advanced > Error console" and select "javascript" from the bottom left drop-down?
A second somewhat serious issue is if you have a Google account and if you use the “Save address” feature. If you are at maps.google.com, and look to the right of the address box there is a gray triangle pointing down. If you click on this it should bring up a “My Saved Locations” box. You can’t access this no matter what you mask or id as. Would there be any relevance that its a "javascript:void(0) link?
This I can reproduce and I've analysed it. It's caused by Maps' JS running into a small incompatibility with Firefox that noone noticed before: an <A> node's constructor property is window.Object in Opera, but not in Firefox. Minor, obscure, hard to find, broke G Maps.. bad combination that.
The “My Maps” option now works if you id as Opera, FF, IE, or masking as FF. It will never load if you mask as IE.
I would rather not spend time on analysing this, since mask as IE is not the default setting and it's most likely caused by their browser sniffing and not a bug in Opera.
The “Featured Content” will only work/show if you mask as FF. The same holds true for “Created by Others.” You have to mask as FF for this to work.
I'm hopeful that we'll get the last one of the overly tight security policies adjusted soon so that this:
The above paragraph is related to this (Opera knows about this)… Child Iframe bug
..can be fixed at Google's side.
If you’ve read this far it seems your best choice is to mask as FF. If you do though you won’t be able to “drag” your routes. That only works if you ID as Opera, FF, or IE.
Again, I'd rather not spend time on problems caused by different "Identify" settings. Sorry about that, but Google Maps is so complex it's taken me hours to figure out that small issue about <A>.constructor..
Monday, 5. January 2009, 06:40:21
for me it gets stuck
I get: Still loading... Slow? Try Basic HTML on the top of the page
I also have no scroll bars but I can scroll left and right and up and down
Opera DragonFly says that there a lot of css errors
maps.google.rtf
No problems in Safari. +1
Monday, 5. January 2009, 16:58:31
Originally posted by hallvors:
Originally posted by rif:
There are a number of issues that currently don’t work in maps.google.com. Hallvord asked me to file a new bug report on this. The new bug number is, DSK-242877.
Type in “restaurants 49855.” This will bring up a list of restaurants in Marquette, MI and show their location on a map. If you click on one of the restaurants (in either the left column or map view) it will bring up a bubble with some choices. You should see in the bubble, “Get directions: To here - From here.” If you enter an address into that bubble and hit enter or click on “go” nothing happens.
I've been trying this in 9.6x and 10.x for both maps.google.com, maps.google.no and maps.google.de and unfortunately it seems to work fine for me
Do you have any active User JavaScripts that might interfere with the site?
Do you use any ad filtering- or internet security software that might prevent JavaScript from being loaded correctly?
Do you see any error messages if you go to "Tools > Advanced > Error console" and select "javascript" from the bottom left drop-down?
i can confirm that the Get directions: To here - From here feature does not seem to work. this happened to me after i switched to 9.63. before that, i never experienced an issue with this. here is the error tha tshows up in the error console:
JavaScript - http://maps.google.com/
Timeout thread: delay 0 ms
Error:
name: TypeError
message: Statement on line 54: Type mismatch (usually non-object value supplied where object required)
Backtrace:
Line 54 of linked script http://maps.google.com/cat_js/intl/en_us/mapfiles/140g/%7Bsuggest/main,maps2/mod_display_manager%7D.js: In function Eb
function Eb(a,b,c){a.setAttribute(b,c)}
Line 223 of linked script http://maps.google.com/cat_js/intl/en_us/mapfiles/140g/%7Bsuggest/main,maps2/mod_display_manager%7D.js: In function X
M(c.suggestOnFocus,true);d.Ha=false;d.ja=M(c.selectOnHover,true);d.Ga=M(c.iterateOnAccept,false);d.Bc=M(c.submitOnEnter,false);Eb(b,"autocomplete","off");if(d.Ib())z(b,Fa,d,d.Ia);else{z(b,Ea,d,d.Ia);z(b,Fa,d,d.Lb)}z(b,Ga,d,d.Mb);z(b,Da,d,d.wa);z(b,Ca,d,d.wa);z(b,Ba,d,d.I);z(b,Qa,d,d.ob)}
Line 330 of linked script http://maps.google.com/cat_js/intl/en_us/mapfiles/140g/%7Bsuggest/main,maps2/mod_display_manager%7D.js: In function ne
function ne(a,b,c){var d={splitters:ue[c],suggestOnFocus:false};Xb(d,a.na);var e=new X(a.C(o,[]),b,d);wb(a,Aa,ve(e))}
Line 329 of linked script http://maps.google.com/cat_js/intl/en_us/mapfiles/140g/%7Bsuggest/main,maps2/mod_display_manager%7D.js: In function we
function we(a){if(!a)return;if(ie)xe(ie,a,0);else if($)ne($,a,0)}
... Line 1 of eval script
function(){var d=new Array(arguments.length);for(var e=0;e<arguments.length;++e){var f=arguments[e];d[e]=xO._translateValue(b,a,f)}var g=xO._translateValue(b,a,this),h=c.apply(g,d);return xO._translateValue(a,b,h)}
Line 1653 of eval script
function(c){c(b)}
Line 254 of eval script
function(){c(f().yGa(a,b))}
Line 1 of eval script
function(a,b,c){var d=this.$k,e=Ij(d,"loaded");if(e[a])b();else{var f=Ij(d,"pending"),g=Jj(f,a);g.push(b);var h=Ij(d,"loading");if(!c&&!h[a]){h[a]=true;var i=this.VZ(a);if(!i)throw Error("No URL for binary "+a);(d.getScript||wO.tSa)(i)}}}
Line 254 of eval script
function(f){if(f().Nea(a))f().load(a,function(){c(f().yGa(a,b))},
Line 218 of eval script
function(f){c(f)}
Line 215 of eval script
function(a,b,c,d,e){if(this.SEa[a])c(this.Jy[a]);else{Jj(this.Lc,a).push(c);if(!e)this.s3(a,b,d)}}
Line 218 of eval script
function(a,b,c,d,e){this.xGa(a,b,function(f){c(f)},
Line 227 of eval script : In function ak
function ak(a,b,c,d,e){gj(Wj).require(a,b,c,d,e)}
Line 254 of eval script : In function mk
function mk(a,b,c,d,e){if(rk)ak(sk,tk,function(f){if(f().Nea(a))f().load(a,function(){c(f().yGa(a,b))},
Line 1653 of eval script : In function wC
function wC(a){var b=v(a);if(!Db||!b)return;mk(lu,qu,function(c){c(b)})}
Line 1 of eval script
function(){var a=this,b=a.G.Np(),c=Cl(b,mO);if(c)c.className=oO;Cl(b,hO).select();wC(hO);DD(hO);a.S=a.A_(dO)}
... Line 165 of eval script
function(){return b.apply(a||this,
Line 1 of eval script
function(a,b){I(this,yo,a);if(b)b()}
...
stacktrace: n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'
Monday, 5. January 2009, 20:38:29
Originally posted by hallvors:
Figured this out. It works as long as you aren't logged in to google. As soon as you log in this doesn't work.Type in “restaurants 49855.” This will bring up a list of restaurants in Marquette, MI and show their location on a map. If you click on one of the restaurants (in either the left column or map view) it will bring up a bubble with some choices. You should see in the bubble, “Get directions: To here - From here.” If you enter an address into that bubble and hit enter or click on “go” nothing happens.
I've been trying this in 9.6x and 10.x for both maps.google.com, maps.google.no and maps.google.de and unfortunately it seems to work fine for me
Just got back from a week of pool. Will look more later at your answers.
Tuesday, 6. January 2009, 01:10:35
Originally posted by rif:
It works as long as you aren't logged in to google. As soon as you log in this doesn't work.
I think I tested both, but that observation helps. From the error message GeneValgene posted, I'm guessing that this has the same underlying cause as the issue breaking "saved addresses". I'll investigate..
Tuesday, 6. January 2009, 01:47:24
http://files.myopera.com/hallvors/userjs/maps.google.com.CORE-17333.js
Can someone test if this also solves the "does not stop loading" problem on Mac? It's a bit of a long shot, but it might help.
..time to get a new browser.js out the door, I suppose
Tuesday, 6. January 2009, 05:27:47
http://userjs.org/help/installation
Tuesday, 6. January 2009, 10:53:02 (edited)
Originally posted by hallvors:
The following code returns the same toString value as ff and chrome:http://files.myopera.com/hallvors/userjs/maps.google.com.CORE-17333.js
HTMLElement.prototype.__defineGetter__ ('constructor', function() { return this; });remove the space after __defineGetter__ (myopera bug)javascript:alert(document.createElement('div').constructor)
Safari - HTMLDivElementConstructor
FF & Chrome - HTMLDivElement
IE - undefined
Opera - Object
Tuesday, 6. January 2009, 11:44:07
First, I'm a bit confused fearphage over what should be in my userjs...
hallvors...
Element.prototype.constructor=Element;
or fearphage's
HTMLElement.prototype.__defineGetter__ ('constructor', function() { return this; });
BTW, they both solve the bug when you bring up a dialog box and want directions from/to there AND you are logged in.
Both also let you edit your saved addresses.
Now that you have that working (almost)
When you are logged in and enter a nickname for a address. In example would be for me entering "woodview." This brings up a box below the address where I should be able to either use the down arrow key or tab key to hilite this entry and then hit enter. The DOWN ARROW key and TAB key don't work. Using the mouse to click on it also doesn't work.Clipboard01.jpg
Thursday, 8. January 2009, 07:42:01
Originally posted by rif:
When you are logged in and enter a nickname for a address. In example would be for me entering "woodview." This brings up a box below the address where I should be able to either use the down arrow key or tab key to hilite this entry and then hit enter.
Glad you reminded me. I noticed that at some point but forgot about it again. It's now bug CORE-17460 and can be fixed by adding this to your user script:
Event.prototype.constructor=Event;
..or waiting for next browser.js release.
Friday, 9. January 2009, 19:07:07
Originally posted by hallvors:
Originally posted by rif:
When you are logged in and enter a nickname for a address. In example would be for me entering "woodview." This brings up a box below the address where I should be able to either use the down arrow key or tab key to hilite this entry and then hit enter.
Glad you reminded me. I noticed that at some point but forgot about it again. It's now bug CORE-17460 and can be fixed by adding this to your user script:Event.prototype.constructor=Event;
..or waiting for next browser.js release.
w00t...you guys are awesome. this fixed it for me.
i can finally use google maps again
Friday, 9. January 2009, 21:30:39
Made new folder called userjs. Went to Preferences>Advanced>Content and 'browsed' to the folder that contains the file user.js which is simply: Event.prototype.constructor=Event;
Closed and restarted Opera 9.63. No Joy: "Still Loading? Try basic HTML."
What am I doing wrong?
Friday, 9. January 2009, 22:19:33
Originally posted by 1101doc:
I'm pretty sure you are "masking as IE." Do this...
Closed and restarted Opera 9.63. No Joy: "Still Loading? Try basic HTML."
What am I doing wrong?
Right click somewhere in the page
Edit Site Preferences
Network
Browser Identification change to Opera
Hit F5 to reload the page
Saturday, 10. January 2009, 02:21:45
Originally posted by 1101doc:
Clear your cookies. I was still getting the same behavior after the browser.js patch as well. I cleared my cookies and now google maps is ultra quick and everything seems to be working.Closed and restarted Opera 9.63. No Joy: "Still Loading? Try basic HTML."
Sunday, 11. January 2009, 02:11:21 (edited)
Originally posted by hallvors:
Here is a more expensive but standards compliant approach that still makes it work.I think mine is a tad more "correct" as an object having itself as the constructor sounds a bit odd
(function(regex, toString) {
HTMLElement.prototype.__defineGetter__ ('constructor', function() {
return window[toString.call(this).match(regex)[1]];
});
})(/^\[object\s(.*)\]$/, Object.prototype.toString);It more closely matches other browser's implentations. In every other browser not named Opera, document.createElement('div').constructor == window.HTMLDivElement. My patch makes this true in opera while making google maps work as well.EDIT: I had to add a space between __defineGetter__ ('constructor' because of a myopera bug.
Also wanted to update a mistake that I made earlier:
browser - Object.prototype.toString.call(document.createElement('div').constructor)
Chrome - function HTMLDivElement() { [native code] }
FF2 - [HTMLDivElement] // function
FF3 - [object HTMLDivElement]
IE - undefined
Opera - function Object() { [native code] }
Safari - [object HTMLDivElementConstructor]
Sunday, 11. January 2009, 05:27:50
Originally posted by 1101doc:
I just used 9.62 with only the browser.js fix and it was snappy and functional. Maybe some other userjs script is affecting it?Thank you very much for your effort. Replacing my user.js with the above script has made no difference.
Sunday, 11. January 2009, 19:36:34
Originally posted by fearphage:
Browser.js ONLY fixes this..in my testingBrowser.js will fix it well enough to work if my script fixed it. So you can delete my script and you should still be fine afaik.
Originally posted by rif:
I don't think browser.js fixed this...Type in “restaurants 49855.” This will bring up a list of restaurants in Marquette, MI and show their location on a map. If you click on one of the restaurants (in either the left column or map view) it will bring up a bubble with some choices. You should see in the bubble, “Get directions: To here - From here.” If you enter an address into that bubble and hit enter or click on “go” nothing happens.
Originally posted by rif:
To fix this, you need this in a js file...When you are logged in and enter a nickname for a address. In example would be for me entering "woodview." This brings up a box below the address where I should be able to either use the down arrow key or tab key to hilite this entry and then hit enter. The DOWN ARROW key and TAB key don't work. Using the mouse to click on it also doesn't work.Clipboard01.jpg
Event.prototype.constructor=Event;
Or wait until it gets into browser.js
Originally posted by hallvors:
Glad you reminded me. I noticed that at some point but forgot about it again. It's now bug CORE-17460 and can be fixed by adding this to your user script:
Event.prototype.constructor=Event;
..or waiting for next browser.js release.
Forums » Opera Community » Opera for desktop » Opera browser
