Friday, December 14, 2007

[Gd] ExtInfoWindow 1.0: Ajax powered, CSS customization

| More

Official Google Maps API Blog: ExtInfoWindow 1.0: Ajax powered, CSS customization

I'm Joe Monahan, a 27 year old cyclist originally from South Plainfield, NJ and now living in Chicago, IL where I work the days away as a User Interface Engineer with Orbitz.com.

I'm excited to announce an addition to the Google Maps Open Source utility library: the ExtInfoWindow, an "extended" info window that allows much more customization than the standard info window. Have you ever wanted to tweak the look and feel of your map's info windows? With ExtInfoWindow and a little CSS you can customize your windows to fit the theme of your site. Do you have a lot of content to place in 50+ markers' info windows, slowing your page load time? ExtInfoWindow can retrieve its content as static HTML strings upon page load, or, for more efficient and real-time data, it can pull data dynamically via an Ajax call when the info window opens. On top of all that, the ExtInfoWindow also mimics the behavior of the regular GInfoWindow, panning the map when needed, closing itself when another window opens, etc.

Sounds too good to be true? Let's check out a quick demo. Given the current season, and the fact that I'm writing this while the snow is falling in Chicago, let's create an ExtInfoWindow around the theme of "winter." All of the window's styles come from an externally linked CSS file, while the content is supplied by an Ajax request to grab the lyrics to "Let it snow! Let it snow! Let it snow!". (I apologize in advance if the song gets stuck in your head)

Want to see more? Check out the class reference documentation and more examples. As always, please report any issues you find in the developer forum.

Let me finish up by thanking Pamela Fox for making such a great Open Source Utility Library, and for all the help in getting this utility integrated. Second, I have to thank the authors of "Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional": Andre Lewis, Michael Purvis, Jeffrey Sambells, and Cameron Turner. The sample code in their book is really what jump-started this utility. Last but not least, I also have to give a quick shout-out to my team over at Orbitz Traveler Update for giving me the extra time to develop the ExtInfoWindow utility and release it as open source.

Disclaimer: These views are mine and not the views of OWW or (subsidiary). I am not a spokesperson for OWW or (subsidiary) and neither OWW nor (subsidiary) endorse any material, content and/or links or assume any liability for any of my actions.


URL: http://googlemapsapi.blogspot.com/2007/12/extinfowindow-10-ajax-powered-css.html

[Gd] Maps from another world

| More

Official Google Maps API Blog: Maps from another world

Google Moon and Google Mars are great examples of what can be done with the Google Maps API. But in the rush to get both products out the door, we never quite got around to going the extra step and providing support in the Maps API itself for the tiles that Google Moon and Google Mars use. Until now, that is!

Fresh out of the oven, Maps API v2.95 includes explicit support for Moon and Mars map types. Want to plan your next moon landing, maintain a database of alien colonies, or just keep track of things you've lost on Mars? All these things and more are now just as easy to do as creating any other Maps mashup. The sky's the limit!

Speaking of the sky... while we were at it, we didn't stop at Moon and Mars tiles. We added support for Google Earth's sky imagery, too. That's right, you can now use the Maps API to create web-based versions of the cosmos, pulling from our huge tileset of merged telescope images. Note that we haven't yet perfected inter-galactic geocoding or driving directions, so you'll have to stick to Earth maps when you want to search for pizza joints and coffee shops. At least for now.

Michael Kosowsky of HeyWhatsThat.com was kind enough to whip up some great example applications that make use of these new map types. You can use his Cosmic Visibility page to see and understand the phases of the Moon or Mars. You can even see where the planets are in the sky, and where the horizon is, custom-drawn for your specific time and location. We hope these are just the first of many science mashups created from this feature.

All of this is made possible by the following pre-defined GMapType constants, which were added in the v2.95 Maps API:

  • G_MOON_ELEVATION_MAP
  • G_MOON_VISIBLE_MAP
  • G_MARS_ELEVATION_MAP
  • G_MARS_INFRARED_MAP
  • G_MARS_VISIBLE_MAP
  • G_SKY_VISIBLE_MAP
These work just like the familiar G_NORMAL_MAP and G_SATELLITE_MAP constants. See our examples for more info. As a teaser, here's a quick demo:


Be aware that the sky data is referenced to the celestial coordinate system, which takes some getting used to for us Earth-dwellers. The vertical axis is known as declination, and the horizontal axis is right ascension (which increases to the left, unlike longitude which increases to the right). A good search engine can be used to help you find more info on this coordinate system. We also have some documentation of our own on this topic, for those interested in overlaying KML on the sky in Google Earth. Note that KML isn't yet fully supported on sky maps, due to the coordinate system reversal.


Now go create some other-worldly maps!


URL: http://googlemapsapi.blogspot.com/2007/12/maps-from-another-world.html

Tuesday, December 11, 2007

[Gd] Store Connector

| More

Featured Projects on Google Code: Store Connector

Screenshot
Google APIs used:
Base
A utility that enables online sellers to connect their eBay Stores, Amazon zShops and Marketplaces, and Yahoo! Stores to Google Base so searchers can find their items for sale on Google. It demonstrates Programmatic Login.

URL: http://google-code-featured.blogspot.com/2007/12/store-connector.html

[Gd] Verkoops

| More

Featured Projects on Google Code: Verkoops

Screenshot
Google APIs used:
Base
A dynamic web page built from the attributes feed that shows snippet results.

URL: http://google-code-featured.blogspot.com/2007/12/verkoops.html

[Gd] Blogoscoped

| More

Featured Projects on Google Code: Blogoscoped

Screenshot
Google APIs used:
Base
A simple search engine that uses the real PHP5 native XML capabilities. The link to the PHP5 source code is on the page.

URL: http://google-code-featured.blogspot.com/2007/12/blogoscoped.html

[Gd] Warmoth

| More

Featured Projects on Google Code: Warmoth

Screenshot
Google APIs used:
Base
Has a search interface for Google Base that uses ColdFusion to search for products that they've uploaded. It sends a query to Google Base (appending a string that is present in only their item descriptions) and parses the returned XML into a page of product links, descriptions, and thumbnail images. You can find the code here.

URL: http://google-code-featured.blogspot.com/2007/12/warmoth.html

[Gd] Agent Earth

| More

Featured Projects on Google Code: Agent Earth

Screenshot Job Central
Google APIs used:Displays real estate listings from Google Base in Google Earth.

URL: http://google-code-featured.blogspot.com/2007/12/agent-earth.html

[Gd] Job Central

| More

Featured Projects on Google Code: Job Central

Screenshot Job Central
Google APIs used:A national non-profit labor exchange. They use the Google Base data API to include job listings from Google Base in their search results.

URL: http://google-code-featured.blogspot.com/2007/12/job-central.html

[Gd] LetMeDo

| More

Featured Projects on Google Code: LetMeDo

Screenshot
Google APIs used:
Base
Provides a search interface to UK housing listings in Google Base.

URL: http://google-code-featured.blogspot.com/2007/12/letmedo.html

[Gd] Safarri

| More

Featured Projects on Google Code: Safarri

Screenshot
Google APIs used:
Lets you browse classifieds in Google Base. It overlays query results on Google Earth.

URL: http://google-code-featured.blogspot.com/2007/12/safarri.html

Monday, December 10, 2007

[Gd] Keeping OpenSSL up-to-date

| More

Google Code Blog: Keeping OpenSSL up-to-date



OpenSSL is perhaps the most widely used of all cryptographic libraries, both in the open source world and by commercial enterprises. The OpenSSL team is often approached by such enterprises seeking assistance with specific problems or features of particular interest to that enterprise. Less often they are approached by a sponsor with a technical need and the vision to address that need in a way that benefits the open source community as a whole.

OSSI has had a long association with OpenSSL, beginning with work over a five year period on the groundbreaking FIPS 140-2 validation of an OpenSSL derived crypto library (implemented largely by Googler Ben Laurie) and continuing with additional validations currently underway with extensive improvements by Dr. Stephen Henson and others. We were pleased to help facilitate Google's sponsorship of RFC4507 support to OpenSSL.

RFC 4507, also known as "stateless session resumption," is a relatively new draft standard for a mechanism that enables a secure web (TLS) server to resume sessions without explicitly preserving per-client session state. The TLS server encapsulates the session state into a ticket that is preserved in encrypted form and subsequently provided to a client. That client can then resume the previous session using the information in that ticket, avoiding the need for the full TLS negotiation.

This mechanism may be used with any TLS ciphersuite. It makes use of TLS extensions defined in RFC4366 and defines a new TLS message type.

Stateless session resumption is of particular value in the following situations:

  1. For servers that handle a large volume of transactions from many users

  2. For servers that must cache sessions for a long time

  3. For load balancing requests across servers

  4. For embedded servers with little memory


As an added bonus, RFC4366 support includes the Server Name Indication extension, which allows browsers to specify a server name when connecting to an SSL host. This means that SSL hosts can finally use name-based virtual hosting instead of burning an IP address per host.

The implementation in OpenSSL and the interoperability testing were performed by Steve Henson. This support is available in both the current 0.9.8 product branch and in the development trunk (0.9.9).

URL: http://google-code-updates.blogspot.com/2007/12/keeping-openssl-up-to-date.html

[Gd] The GoogleBar: Now with Options!

| More

Official Google Maps API Blog: The GoogleBar: Now with Options!

About a month ago we introduced Gmap2.enableGoogleBar(), a command that puts our normal logo against a white background and adds an expandable local search box. The local search box is based on the configurable LocalSearchControl, so developers immediately asked when they'd be able to use the same options for the GoogleBar.

Well, a ton of you clamored for customization, so we put a rush order on it. Now, in v2.95, we have a new GMapOptions option: googleBarOptions (I know, so many options!). Those options will get fed into the LocalSearchControl when you call enableGoogleBar. It currently supports all the same options as the LocalSearchControl (with some constants renamed to our namespace), and also adds a showOnLoad boolean to let you pop out the search box upon map load. You can play with the options in the playground below to see some simple customization - but I bet that with all the callbacks available, you can come up with more innovative uses of the control than alerting after the search is complete. :) As always, please post questions (or examples of what you've done) in the forum.

Link to GoogleBar Options Playground

URL: http://googlemapsapi.blogspot.com/2007/12/googlebar-now-with-options.html