We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Geocoding

Development and Programming

Mark Huot's avatar
Mark Huot
587 posts
16 years ago
Mark Huot's avatar Mark Huot

Hum. Yea, I experimented with saving the text but went without it because the google information is sometimes so different than the written out information. Especially because the text won’t always match up with the pin, in some cases I’ve found it’s easiest to just type a general location (philadelphia, pa) and then place the pin myself. In that case I wouldn’t want the general text. So, because sometimes the text is needed and sometimes it’s not I decided to just drop it all together. It seemed to make the implementation a little easier to understand. Good idea with the return though. I’ll try putting a link or button in to add a pin.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Mark - have you had an issues with the map not showing in the CP? It shows fine on the publish pages, but it doesn’t show on the edit pages. I’m using a Mac - it doesn’t show in either Safari or Firefox.

Another interesting side note - Only the map controls will show in my actual website layout (not the map itself), UNLESS I throw a PHP error, in which case the whole map shows properly. Gotta love cheese:

EDIT: So if I remove the width and height parameters in the EE tag calling the google map the map will show up on my site (not talking the CP). Or if I remove my DOCTYPE from my HTML - but that’s obviously not a good option.

EDIT 2: So I pulled the width and height declarations from the extension, and instead put in a class. If I use CSS to style that class then the map shows up fine on the site sized however I like. Strange quirks.

I pulled the DOCTYPE out of the CP html just for kicks but it didn’t fix it not showing in the edit panel.

EDIT 3: I think this might be the issue? On the edit page there’s an error thrown (that doesn’t happen on the publish page):

Error: invalid flag after regular expression Source Code: Notice: Undefined offset: 1 in …path to EE … /extensions/ext.geo.php on line 428

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Mark - found a bug that crashes IE6 consistently. Line 531 of your extension:

$map.= ($first_pass !== true && $this->fetch_param('inline_embed') != 'false') ? '</script>' : '';

Will crash IE6 every time.

All you need to do is add .x to the API version and all is well (no more crashing IE6). Like so:

$map.= ($first_pass !== true && $this->fetch_param('inline_embed') != 'false') ? '</script>' : '';

Figured you wouldn’t want to crash all your IE6 users :D

Any ideas on the map not showing in the edit window? Does it show for you?

Thanks Mark - very cool extension!

EDIT: Whoa! It is cutting out the important part of the line of code I’m pasting in this post. The code is on line 531 - like I said just add .x to the script so it turns into http://maps.google.com/maps?file=api&v=2.x instead of http://maps.google.com/maps?file=api&v=2 . The code shown above isn’t the entire line.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Blah - ok so I lied. It still crashes IE6 consistently (for some reason it didn’t that one time I reloaded after the change). Any ideas about this? I’ve searched the Google Maps API Group to no avail. Does anyone have it working in IE6?

EDIT: Adding the .x throws an error pop-up and stops the page loading at that point, but shows the page and map - just not any HTML after that. Not having the .x throws the error and redirects to an ‘IE cannot load this page’ default page - so technically it isn’t crashing the browser. The error message that pops says ‘IE cannot open this page. Operation aborted’.

       
Mark Huot's avatar
Mark Huot
587 posts
16 years ago
Mark Huot's avatar Mark Huot

i’m looking at it now, and it doesn’t seem to be crashing IE6, but i’ll keep testing.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.
i’m looking at it now, and it doesn’t seem to be crashing IE6, but i’ll keep testing.

I just found this:

My page works in Firefox but not in IE

IE will produce “Operation Aborted” and “Cannot load page” errors after partially rendering the map if the Javascript is contained inside a <table> or <div> or other incomplete element modifies that element.

The easiest fix is to move all your Javascript to the bottom of your HTML file, just before the </body>. Be sure that all open <tag> elements are closed with a matching </tag> before the script.

See other solutions in the FAQs#Browser Problems.

That’s my exact issue I believe as it’s in the middle of multiple wrapper divs. Is there a way to separate output to two tags so I can call the JS at the bottom of the page?

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Hmmm well that doesn’t seem to be my issue either. I pulled it completely out of the layout and put the map right before the </body> tag - and it’s still crashing IE6 every time.

Here’s more from Google:

*  My map works in Firefox but I get "Operation Aborted" errors in IE! 

These errors are produced in IE when the javascript tries to change the page before it has completed rendering. There are 3 common ways to solve this problem: 
  1. move all the javascript to the <head> of the document and call a makeMap() function which initializes the Google Map in the onload handler (in the <body> tag, <body onload=”makeMap();”>). The onload handler is executed after the page finishes loading. thread1 thread2
  2. put all the javascript at the end of the <body> (just before the </body> tag) see this message.
  3. a variation of #1, use a setTimeout to delay the processing of the map code until the page has finished rendering. see this message.
  4. (variation of 1) use window.onload. Allows multiple onload handlers, see Doug Henderson’s page at multiple onload handlers. This is the way that was used to fix the operation aborted error on the Get_Lon_Lat page here.
       
Mark Huot's avatar
Mark Huot
587 posts
16 years ago
Mark Huot's avatar Mark Huot

ah, silly IE - what a burden you are. the thing about it is that shouldn’t be a problem because I’m using the addDOMLoadEvent() to run the script after the page completes loading, not inline.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

I just editing my last message - but here’s more:

*  My map works in Firefox but I get "Operation Aborted" errors in IE! 

These errors are produced in IE when the javascript tries to change the page before it has completed rendering. There are 3 common ways to solve this problem: 
  1. move all the javascript to the <head> of the document and call a makeMap() function which initializes the Google Map in the onload handler (in the <body> tag, <body onload=”makeMap();”>). The onload handler is executed after the page finishes loading. thread1 thread2
  2. put all the javascript at the end of the <body> (just before the </body> tag) see this message.
  3. a variation of #1, use a setTimeout to delay the processing of the map code until the page has finished rendering. see this message.
  4. (variation of 1) use window.onload. Allows multiple onload handlers, see Doug Henderson’s page at multiple onload handlers. This is the way that was used to fix the operation aborted error on the Get_Lon_Lat page here.

I hate IE as well - I’m trying to get around the disappearing text bug - I can’t use postition:relative in my CSS because it breaks my layout - so there are large portions of my text that simply don’t show up in IE6 at all. I can’t stand IE.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Mark does the Geocoding map show in the edit window for you?

       
Hop Studios's avatar
Hop Studios
460 posts
16 years ago
Hop Studios's avatar Hop Studios

Mark,

I’m getting ready to recode a site that uses Google Maps: http://www.thinksalmon.com/

Any chance you’ll be producing a version that stores the zoom level? If so, I’ll switch to your plugin.

TTFN Travis

       
Mark Huot's avatar
Mark Huot
587 posts
16 years ago
Mark Huot's avatar Mark Huot

v103 is now up

@The Pie Man: Alright, i’ve pulled just about every hair out of my head over this one and still came up empty. I’ve tried every conceivable fix in the Google Groups and implemented all kinds of samples, all of which gave me the same blank grey box. So I went to Tools » Internet Options and added my domain as a “Trusted Site” under Security, and viola, the map started working. Don’t know why, but go ahead and try that. I’ve also made some fixes for IE in v103, so also download that.

@supersusie: Zoom’s are now remembered. If you have one point, it will remember that one point’s zoom. If you have multiple points, it will use the furthest out zoom. If that doesn’t show all the points, it will use the necessary zoom to show all the points.

Have fun!

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.
v103 is now up @The Pie Man: Alright, i’ve pulled just about every hair out of my head over this one and still came up empty. I’ve tried every conceivable fix in the Google Groups and implemented all kinds of samples, all of which gave me the same blank grey box. So I went to Tools » Internet Options and added my domain as a “Trusted Site” under Security, and viola, the map started working. Don’t know why, but go ahead and try that. I’ve also made some fixes for IE in v103, so also download that. @supersusie: Zoom’s are now remembered. If you have one point, it will remember that one point’s zoom. If you have multiple points, it will use the furthest out zoom. If that doesn’t show all the points, it will use the necessary zoom to show all the points. Have fun!

Thanks Mark for all your work - you’re a backbone of the EE community here. Using v1.03 IE6 doesn’t crash when loading a page with a map - yay! Unfortunately the map doesn’t show, but at least the page shows… I tried the trusted sites trick to no effect. I’m either going to just leave it and let IE6 users suffer or use PHP to detect the user agent and only serve up maps for people not on IE6. Not sure which at this point.

Regarding the map now showing in the edit window - I turned off all PHP debugging output in the prefs and it shows fine in the edit window now (this was causing me some issues on a different module for a bit).

Thanks again Mark!

EDIT - so what’s the deal with the subscriptions not emailing out notices half the time? I just checked in here by chance not thinking anything new had been posted… :(

       
Mark Huot's avatar
Mark Huot
587 posts
16 years ago
Mark Huot's avatar Mark Huot

@The Pie Man: If your using the extension to generate the map on the front end you may want to try hardcoding the map and use the “_raw” tag to get the points. It could be something I’m doing in the extension.

OH!!! and for the subscription thing, i just figured this out. in your email preferences you’ll want to turn off “smart subscriptions”. that says to only email you if you’ve visited the thread, meaning if you don’t click the link in each email you get you’ll stop getting emails.

       
Brian M.'s avatar
Brian M.
529 posts
16 years ago
Brian M.'s avatar Brian M.

Good idea about hard-coding it - I’ll try that. And thanks for the tip about emails - that was driving me batty!@

       
1 2 3 4 5 Last

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.