Mapping Google Maps
jgwebber writes "Google Maps is starting to cause a bit of a stir as Google makes the browser do still more backflips than most expected. In the tradition of dissecting Google Suggest and GMail, I've done a little dissecting of this newest service."
Have you tried usaphotomaps from JDMCOX?
USAPhotoMaps downloads aerial photo and topo map data from Microsoft's free TerraServer Web site, saves it on your hard drive, and creates seamless maps from it. You can:
1. See the latitude/longitude
2. Add waypoints, routes, and text
3. Jump to any waypoint or latitude/longitude in the U.S.A.
4. Transfer waypoints, tracks, and routes to and from most GPS receivers
5. See your GPS location
6. Scroll and zoom
And it's free.
when you have something as good as this.
I am not the author of the grandparent post, but if I am not mistaken you have misinterpreted them.
I believe when they said "any modern browser" they were expressing shock that there are any modern browsers which experience problems with Google Maps, rather than expressing shock that there do not exist any modern browsers which do not experience problems with Google Maps.
It fairly successfully mapped Folsom, CA to Wilsey, KS which is not on many maps. It even has the friggen farm roads in it's database!
I love how you can clock on a waypoint in the directions and it pops up a bubble window in the main map with a closeup detail!
-nB
whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
I once had an idea of doing this, and might eventually get around to finishing it. I just dont have the map library to do the overlay. All I could do is draw the tracks. Image librarys (like gd) make drawing the tracks easy, and overlaying just as simple. Getting a library of map images that would allow you to use it for this sort of thing would be the hard part.
tm
Support TBI Research: http://www.raisinhope.org
Trust me, getting PNG transparancy / Alpha Channel support in IE is a backflip.
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
A metaphor for accomplishing a difficult or complex task that the object or system generally wasn't thought of as capable of doing.
Settle down, Beavis.
Hokey statistics and ancient misconceptions are no match for a good thought in your head, kid!
And there are subtle incompatabilities between Mozilla/Firefox's javascript, IE's jscript and KDE's kjs.
Well, I've never developed this sort of stuff with Safari/Konqueror in mind. But I have written some pretty strong DHTML stuff... (A phone directory that worked entirely on the client is what I am immediately referring to.).
And I can see where Google is coming from. Sometimes, to make the cleanest interface possible, you have to use some really powerful tricks. Gmail uses the same sort of setup that I used in my phone directory... I haven't looked into the specs of Safari too much, but I do know that I couldn't find a way of making my phone directory work with Opera. Reason being that the browser just didn't have the capability that I needed (extra strength XML support). To the best of my knowledge at the time, only IE and Mozilla were sufficiently evolved to allow what I was doing.
It's true that it's not entirely standard... but it's powerful enough that Mozilla decided to break tradition and include support for doing such things. And by the time I finished my phone directory, I did make the code mostly standard... but it still didn't work in Opera.
And if you are curious, I developed it for a corporate Intranet, so the code is not available for viewing. (And I don't own the code, so I don't have a personal copy).
It doesn't support iframes and (as the article clearly states) iframes are a big part of how this application works.
"How would this sentence be different if pi equaled 3?"
The ECMAScript (Javascript) code used for this is pretty standard except for a few else{} to acomodate Internet Explorer (unfortunately you cannot do without). I realize people want things to work in their favorite browser but shouldn't they check that their favorite browser follows standards before blaming Google?
Actually, it works fairly well in safari. There is a link at the bottom of the page that allows you to open the page anyway, and the it seems to function already.
From TFA:
Probably the most striking thing about Google Maps is the very impressive (for DHTML, anyway) graphics. Now, I'm sure that many of you old JavaScript hacks out there have known this sort of thing was possible for a long time, but it's very cool to see it (a) actually being used for something real, and (b) where normal users will see it.
Back in the Summer of 2000 iWon.com released the Prize Machine.
They didn't want people to need a plugin to use it, so they wrote it in JavaScript.
It's a slot machine with moving prize images. You click the arm and it pulls down and starts spinning. It talks to the server to see if your spin won a prize or not, and spins the wheels accordingly.
Nifty little app, actually.
$8.95/mo web hosting
Safari supports iframes. It doesn't support the fancy javascript (XML and XSL methods). That's because the safari devs really aren't that interested in de facto standards (they're still catching up with Moz on CSS2 layout to be honest).
I use online map services extensively and I'm exciting to see Google jump in. But one feature is sadly lacking at the present time-- you can't save the map as a JPEG. Often I'll need to grab the map from a serive to drop it into a document for print or e-mail... And you can't do it with google maps unless you do a screen grab or print the page to PDF, but that's a bit of a hassle.
The "e-mail" feature is also worthless, since you're just sending a link to the maps.google page.
You forgot to thank Microsoft for going outside of the standards and implementing XMLHttpRequest in IE5.0. Got so popular everyone started copying it. You see how gmail and google maps can change the content page without loading up a new page? Thats XMLHttpRequest, non standardized browser object.
Have you ever been to a turkish prison?
SEXTON! Er, I mean Saxton!
/. post... good stuff :)
Whats up man? Haven't talked to you in a while and saw this
Google's traditional search features could almost run on Lynx on a green screen. Maybe they can
Google looks great in Lynx.
Google Maps is using a hidden iframe to send messages back and forth
I'm schizophrenic; no I'm not.
The problem isn't with javascript, it's with XSLT. If you read the article, you'll notice that the XML transforms are done using XSLT -- and Safari is currently the only browser I've used that doesn't support XSLT. Supposedly it will be in the next version of Safari, so it looks like Google has decided to use it now, and let the browser catch up, instead of using an older technology hack. I hope this provides some incentive for the Safari team to get XSLT working soon, as I have a number of projects that depend on it. http://www.plattiblog.com/2004/08/16.html seems to hint that there has been some progress.
it is too bad that even Google can't get a webpage to render properly on any modern browser, such as Safari.
Safari doesn't support XSLT. It's not google's fault that Safari is behind even IE6 in this respect.
I'm blown away by Google Maps but there is one annoying problem that I've noticed: You can't just bookmark a map on Google Maps, you have to first click a "Link to this Page" link to put the state of the map into the URL.
:)
I've described a simple solution for this problem on my blog just in case the folks at Google read Slashdot and want to make my new favorite mapping website just a little bit better
http://www.joehewitt.com/
Multimap here in the UK does a good job of combining maps with aerial photographs. It even overlays a transparancy of the map.
The photos are at least a few years old, but it's still pretty, if not particularly useful.
"Safari doesn't support XSLT."
4 _08.html/
Fortunately, Dave Hyatt, one of the lead Safari developers, said in August that it's coming. http://weblogs.mozillazine.org/hyatt/archives/200
Yes, it's possible.
First, multiply all your lats and lons by 1e5.
Now, take the first lat, and encode it (encode function to be specified later.) Append that to the string. Do the same with the first lon.
Now, take the DIFFERENCE between the second lat and the first one, and encode that. Append that to the string. Again, do the same with the second lon.
For each additional lat/lon, encode the difference from the previous one.
Now, the encoding:
If the number you have is negative, multiply by two and take the logical not. Otherwise, just multiply by two. Notice that this makes the least significant bit the sign bit.
Now break the number into 5-bit chunks. Encode the least significant chunk first, by casting to a byte, adding 32 if there are more nonzero chunks to come, and then adding 63. Repeat for each 5-bit chunk. Skip trailing (MSB) zero chunks, but always output at least one chunk for each number. (That's why there are so many ? symbols: it encodes a difference of zero from the previous lat or lon. Note that this means you'll also never see three ? symbols in a row.)
I haven't played with the 'levels' string yet; I assume it's used for removing details as you zoom out, and based on the characters that appear in it it may use the same encoding method except without the delta compression. The rest of the XML looks self-explanatory.