<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0MGQHY5eyp7ImA9WxJVEEo.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795</id><updated>2009-06-26T21:03:41.823-07:00</updated><title>Google Geo Developers Blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googlegeodevelopers.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>A Googler</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>75</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/GoogleGeoDevelopersBlog" type="application/atom+xml" /><entry gd:etag="W/&quot;CkQAR349cSp7ImA9WxJWGUo.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5180494612253195906</id><published>2009-06-24T21:28:00.000-07:00</published><updated>2009-06-25T15:52:26.069-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-25T15:52:26.069-07:00</app:edited><title>Google I/O 2009: Geo Round-Up</title><content type="html">&lt;p&gt;
At Google I/O 2009, we had the opportunity to meet many of our favorite developers in the Sandbox and Office Hours, and deliver several advanced talks on geo topics. Check out the description of those sessions below (originally posted on the &lt;a href="http://google-code-updates.blogspot.com/2009/06/google-io-session-videos-on-building.html"&gt;Google Code&lt;/a&gt; blog), or jump straight to the embedded player and watch them yourself.
&lt;/p&gt;
&lt;p&gt;
Mano Marks and Pamela Fox started with a &lt;a id="u5wr" href="http://code.google.com/events/io/sessions/DontKnowGeoApiCantHurt.html" title="grab bag session"&gt;grab bag session&lt;/a&gt; covering the vast spectrum of Geo APIs, discussing touring and HTML 5 in KML, the &lt;a id="pap1" href="http://code.google.com/apis/sketchup/" title="Sketchup Ruby API"&gt;Sketchup Ruby API&lt;/a&gt; (with an awesome physics demo), driving directions (did you know you can solve the Traveling Salesman Problem in Javascript?), desktop AIR applications, reverse geocoding, user location, and monetization using the &lt;a id="vv8d" href="http://googlegeodevelopers.blogspot.com/2009/05/earn-revenue-from-your-mashup-with-maps_20.html" title="Maps Ad Unit"&gt;Maps Ad Unit&lt;/a&gt; and &lt;a id="e3_n" href="http://googlegeodevelopers.blogspot.com/2009/03/changes-to-googlebar.html" title="GoogleBar"&gt;GoogleBar&lt;/a&gt;. Pamela finished by sneak previewing an upcoming feature in the Flash API: 3d perspective view.

&lt;p&gt;In the session on &lt;a id="o.6s" href="http://code.google.com/events/io/sessions/PerformanceTipsGeoApiMashups.html" title="performance tips for Maps API mashups"&gt;performance tips for Maps API mashups&lt;/a&gt;, Marcelo Camelo announced &lt;a id="ym46" href="http://code.google.com/apis/maps/documentation/v3" title="Google Maps API v3"&gt;Google Maps API v3&lt;/a&gt;, a latency-oriented rewrite of our popular JS Maps API.  Also see Susannah Raub's &lt;a id="l875" href="http://code.google.com/events/io/sessions/MapsApiMobile.html" title="more in-depth talk"&gt;more in-depth talk&lt;/a&gt; about Maps API v3.  Then Pamela gave advice on how to load many markers (by using a lightweight marker class,  clustering, or rendering a clickable tile layer) and on how to load many polys (by using a lightweight poly class, simplifying, encoding, or rendering tiles). Sascha Aickin, an engineer at &lt;a id="q3h7" href="http://www.redfin.com" title="Redfin"&gt;Redfin&lt;/a&gt;, showed how they were able to display 500 housing results on their real estate search site by creating the "SuperMarker" class.
&lt;/p&gt;

&lt;p&gt;
Mano and Keith presented various ways of &lt;a id="kfno" href="http://code.google.com/events/io/sessions/BuildingScalableGeoApps.html" title="hosting geo data on Google infrastructure"&gt;hosting geo data on Google infrastructure&lt;/a&gt;: Google Base API, Google App Engine, and the just-released Google Maps data API. Jeffrey Sambells showed how &lt;a id="m7vz" href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.connectorlocal.com%2F&amp;amp;ei=jdwqSvfsBJTitAOw06DiCg&amp;amp;usg=AFQjCNFYTu1FcfreGECPAzts_30x5cnojg&amp;amp;sig2=ix5YBYRZIV2BuKE8ixtdVg" title="ConnectorLocal"&gt;ConnectorLocal&lt;/a&gt; used the API (and their own custom PHP wrapper) for storing user data.
&lt;/p&gt;

&lt;p&gt;
On the same day as announcing &lt;a id="rs3h" href="http://googlegeodevelopers.blogspot.com/2009/05/hey-maps-api-and-earth-api-developers.html" title="better integration between the Google Earth and Google Maps JS APIs"&gt;better integration between the Google Earth and Google Maps JS APIs&lt;/a&gt;, Roman Nurik presented on &lt;a id="kf0i" href="http://code.google.com/events/io/sessions/BuildingAdvanced3DGoogleEarth.html" title="advanced Earth API topics"&gt;advanced Earth API topics&lt;/a&gt;, and released a &lt;a id="zdvy" href="http://code.google.com/p/earth-api-utility-library/" title="utility library"&gt;utility library&lt;/a&gt; for making that advanced stuff simple.
&lt;/p&gt;
&lt;br&gt;
&lt;object width="746" height="413"&gt;&lt;param name="movie" value="http://www.youtube.com/cp/vjVQa1PpcFP844uRHTLcqjiGtoJOO5u9-GmaUWZaFNM="&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/cp/vjVQa1PpcFP844uRHTLcqjiGtoJOO5u9-GmaUWZaFNM=" type="application/x-shockwave-flash" width="746" height="413"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br&gt;&lt;br&gt;
&lt;span class="post-author"&gt;Posted by Pamela Fox, Developer Relations&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5180494612253195906?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5180494612253195906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5180494612253195906" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5180494612253195906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5180494612253195906?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/j3kEKsbXxYY/google-io-2009-geo-round-up.html" title="Google I/O 2009: Geo Round-Up" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/06/google-io-2009-geo-round-up.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04GRHwycCp7ImA9WxJWF0w.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-4613288409536568422</id><published>2009-06-22T17:26:00.000-07:00</published><updated>2009-06-22T18:18:45.298-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-22T18:18:45.298-07:00</app:edited><title>Travellr: Behind the Scenes of our Region-Based Clusters</title><content type="html">&lt;p&gt;&lt;em&gt;Recently, there has been a lot of interest in clustering algorithms. The client-side grid-based &lt;a href="http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html"&gt;MarkerClusterer&lt;/a&gt; was released in the open source library this year, and various server-side algorithms were discussed in the &lt;a href="http://code.google.com/events/io/sessions/PerformanceTipsGeoApiMashups.html"&gt;Performance Tips&lt;/a&gt; I/O talk. We've invited the Travellr development team to give us insight on their unique regional clustering technique.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://travellr.com" title="Travellr"&gt;Travellr&lt;/a&gt; is a location aware answers service where people can ask travel-related questions about anywhere in the world. One of its features is a &lt;a href="http://travellr.com/map" id="ulp." title="map-based interface to questions"&gt;map-based interface&lt;/a&gt; to questions on the site using Google Maps.
&lt;/p&gt;
&lt;br&gt;
&lt;img src="http://docs.google.com/File?id=dxjmnbf_4t5qkqpfw_b" style="width: 592px; height: 377px;"&gt;
&lt;br&gt;
&lt;i&gt;Figure 1. An example of the Travellr Map, showing question markers for Australia.&lt;/i&gt;&lt;br&gt;

&lt;br&gt;
&lt;br&gt;&lt;b&gt;Clustering for usability&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
We learned that the best way to display markers without cluttering our map was to cluster our questions depending on how far you zoom in. If the user was looking at a map of the continents, we would cluster our questions into a marker for each continent. If the user zoomed-in to France we would then cluster our questions into a marker for each region or city that had questions. By clustering our data into cities, regions/states, countries, and continents, we could display relevant markers on the map depending on what zoom level the user was looking at.&lt;/p&gt;
&lt;br&gt;
&lt;b&gt;Optimizing for Clustering&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
Our next challenge was how to extract clustered data from our database without causing excessive server load. Every time the user pans and zooms on the map, we need to query and fetch new clustered data in order to display the markers on the map. We also might have to limit the data if the user has selected a tag, as we're only interested in a questions related to a topic (ie: "surfing"). To execute this in real-time would be painstakingly slow, as you would need to to cluster thousands of questions in thousands of locations with hundreds of tags on the fly. The answer? Pre-cluster your data of course!
&lt;/p&gt;

&lt;br&gt;
&lt;b&gt;Step 1. Structure your location data&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
When a question is asked about a city on Travellr, we also know its region/state, country and continent. We store more than 55,000 location points as a hierarchy, with each location "owning" its descendent nodes (and all of their data). Our locations are stored in a &lt;a href="http://www.sitepoint.com/article/hierarchical-data-database/2/" id="hhgu" title="Modified Preorder Tree"&gt;Modified Preorder Tree&lt;/a&gt; (also called Nested Sets). Modified Preorder Trees are a popular method of storing hierarchical data in a flat database table, having a focus on efficient data retrieval, and easy handling of sub trees. For each location we also keep a record of its depth within the tree, its location type (continent, country, region/state, or city), and its co-ordinates (retrieved using the Google Maps geocoder).
&lt;/p&gt;
&lt;br&gt;
&lt;b&gt;Step 2. Aggregate your data&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
We calculate aggregate data for every branch of our locations tree ahead of time. By storing aggregate data for cities, regions/states, countries, and continents, we provide an extremely fast and inexpensive method to query our locations database for any information regarding questions asked about a particular location. This data is updated every few minutes by a server-side task.
&lt;/p&gt;
&lt;p&gt;
Our aggregations include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Total question count for a location&lt;br&gt;
&lt;li&gt;Most popular tags for that location&lt;br&gt;
&lt;li&gt;Number of questions associated with each of those tags.&lt;br&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;b&gt;How we query our structured, aggregate data on the map&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
Whenever the user zooms or pans the map we fire off a query to our (unpublished ;) API with the tags they are searching for, the current zoom level, and the edge co-ordinates of the map's bounding box. Based on the zoom level (Figure 2) we work out whether we want to display markers for continents, countries, states, or cities. We then send back the data for these markers and display them on the map.&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;img src="http://docs.google.com/File?id=dc287ncr_29cb84v7ct_b" style="width: 592px; height: 380px;"&gt;&lt;br&gt;
&lt;i&gt;Figure 2. Clustering at different zoom levels (blue = continents, countries, pink = states, cities)&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Everyone Wins&lt;/b&gt;&lt;br&gt;
&lt;p&gt;
So what is the result of structuring and aggregating our data in such a way? It means that we have nicely organized, pre-clustered data that can be read from cheaply and easily. This allows us to provide a super-fast map interface for Travellr that puts minimal load on our infrastructure. Everyone is happy!
&lt;/p&gt;

&lt;i&gt;Comments or Questions?&lt;/i&gt;&lt;br&gt;
&lt;p&gt;
We'd love to &lt;a href="http://travellr.com/contact_us" id="qdd:" title="hear from you"&gt;hear from you&lt;/a&gt; if you have any questions on how we did things, or suggestions or comments about &lt;a href="http://travellr.com/map" id="c1ym" title="Travellr's map"&gt;Travellr's map&lt;/a&gt;. This article was written by Travellr's performance and scalability expert Michael Shaw (from &lt;a href="http://www.insight4.com/" id="gno6" title="Insight4"&gt;Insight4&lt;/a&gt;) and our client-side scripting aficionado Jaidev Soin.
&lt;/p&gt;
&lt;p&gt;
You can visit Travellr at &lt;a href="http://www.travellr.com" id="ykht" title="www.travellr.com"&gt;www.travellr.com&lt;/a&gt;, or follow us on Twitter at &lt;a href="http://twitter.com/travellr" id="r6gs" title="twitter.com/travellr"&gt;twitter.com/travellr&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-4613288409536568422?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/4613288409536568422/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=4613288409536568422" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4613288409536568422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4613288409536568422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/8DZaJWhJvM8/travellr-behind-scenes-of-our-region.html" title="Travellr: Behind the Scenes of our Region-Based Clusters" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/06/travellr-behind-scenes-of-our-region.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ICR3s9fSp7ImA9WxJWEk0.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-3027062243366941373</id><published>2009-06-16T20:12:00.000-07:00</published><updated>2009-06-16T20:32:46.565-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-16T20:32:46.565-07:00</app:edited><title>How low can you go?  Introducing getMaxZoomAtLatLng</title><content type="html">&lt;p&gt; 
When you're showing satellite imagery with our Maps API, it's often the case that you want to show the most detailed imagery available. But it's always been tricky figuring out the best zoom level for a particular location. If you don't zoom in far enough, your users won't immediately get the most detailed image available. If you zoom in too far, you might get the dreaded message "We are sorry, but we don't have imagery at this zoom level for this region", and no imagery at all.
&lt;/p&gt; 
&lt;p&gt; 
What if there were a way to know programatically what the maximum zoom level was for any point in the world? Fortunately, now there is.
&lt;/p&gt; 
&lt;p&gt; 
It's not easy to solve this problem naively; the world is a big place. At zoom
level 22, there are 4 to the power of 22 potential satellite tiles -that's over
17.5 trillion. The zoom level for satellite imagery that exists varies wildly
all over the world. Sydney's &lt;a href="http://maps.google.com.au/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=bondi+beach&amp;sll=-19.311143,133.59375&amp;sspn=176.210809,360&amp;ie=UTF8&amp;t=h&amp;ll=-33.89157,151.277762&amp;spn=0.000189,0.000355&amp;z=22&amp;iwloc=A"&gt;Bondi Beach&lt;/a&gt; has imagery right up to zoom level 22, whereas &lt;a href="http://maps.google.com.au/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=pacific+ocean&amp;sll=-3.776559,-153.457031&amp;sspn=56.968066,93.164063&amp;ie=UTF8&amp;ll=-32.722599,-140.018005&amp;spn=1.566621,2.911377&amp;t=h&amp;z=9&amp;iwloc=A"&gt;the centre of the Pacific Ocean&lt;/a&gt; only goes up to zoom level 9. (I make no accusations about whether this means the Google Maps team prefers to look at tanned, sunbathing Aussies).
&lt;/p&gt; 
&lt;p&gt; 
But with a good search algorithm, and data based on the most frequently viewed areas of the earth, we've been able to make a search for the existence of imagery very efficient, and we are now exposing this functionality to our API developers.
&lt;/p&gt; 
&lt;p&gt; 
The new solution is an asynchronous function which is part of the
&lt;code&gt;GMapType&lt;/code&gt; class: &lt;code&gt;getMaxZoomAtLatLng&lt;/code&gt;. The function takes
a &lt;code&gt;GLatLng&lt;/code&gt; and returns the maximum zoom level at which imagery
exists. Because the function requires a call to Google's servers (much like
&lt;code&gt;GClientGeocoder.getLocations()&lt;/code&gt;), you must also provide a &lt;code&gt;callback&lt;/code&gt; parameter, which is a function which will deal with the response.
&lt;/p&gt; 
&lt;p&gt; 
As an example, here's a function which will set the center of the given &lt;code&gt;GMap2&lt;/code&gt; object to the maximum zoom level at the given &lt;code&gt;GLatLng&lt;/code&gt;:
&lt;/p&gt; 
&lt;p&gt; 
&lt;pre&gt; 
function setMaxZoomCenter(map, latlng) {
  map.getCurrentMapType().getMaxZoomAtLatLng(latlng, function(response) {
    if (response &amp;&amp; response['status'] == G_GEO_SUCCESS) {
      map.setCenter(latlng, response['zoom']);
    }
  });
}
&lt;/pre&gt; 
&lt;/p&gt; 
&lt;p&gt; 
As you can see, the &lt;code&gt;response&lt;/code&gt; object contains a &lt;code&gt;status&lt;/code&gt; code, and, if the response was successful, a &lt;code&gt;zoom&lt;/code&gt; field containing the maximum zoom at that point.
&lt;/p&gt; 
&lt;p&gt; 
Click on the &lt;a href="http://gmaps-samples.googlecode.com/svn/trunk/maptiles/maxzoom.html"&gt;map&lt;/a&gt; below, and it will zoom to the highest zoom level
available at the point at which you clicked.
&lt;/p&gt; 
&lt;p&gt; 
&lt;iframe src="http://gmaps-samples.googlecode.com/svn/trunk/maptiles/maxzoom.html" width="500px" height="400px"&gt;&lt;/iframe&gt; 
&lt;p&gt; 
Note that this function is only implemented for satellite imagery, and not roadmaps, whose zoom levels don't vary nearly as much. It works for both the &lt;code&gt;G_SATELLITE_MAP&lt;/code&gt; and &lt;code&gt;G_HYBRID_MAP&lt;/code&gt; map types. The full reference is available &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GMapType"&gt;here&lt;/a&gt;.
&lt;/p&gt; 
&lt;p&gt; 
We hope this function makes developing with satellite imagery a simpler, easier and fuller experience.  Please provide any feedback in the &lt;a href="http://groups.google.com/group/Google-Maps-API"&gt;Maps API Google Group&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;span class="post-author"&gt;Posted by Jez Fletcher, Maps API team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-3027062243366941373?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/3027062243366941373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=3027062243366941373" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3027062243366941373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3027062243366941373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/96ypJrrGa5U/how-low-can-you-go-introducing.html" title="How low can you go?  Introducing getMaxZoomAtLatLng" /><author><name>Mickey Kataria, Google Sydney</name><uri>http://www.blogger.com/profile/12766005336748892615</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17024922739450605193" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/06/how-low-can-you-go-introducing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcEQXY7fip7ImA9WxJXEk4.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5857377887902579175</id><published>2009-06-05T13:00:00.000-07:00</published><updated>2009-06-05T13:00:00.806-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-05T13:00:00.806-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Maps API" /><title>Announcing the Google Qualified JS Maps Developer program</title><content type="html">&lt;img style="float:right; margin:0 0 10px 10px; width: 161px; height: 161px;" src="http://code.google.com/qualify/images/logo_qd_large.gif" border="0" alt="Developer Qualification"/&gt;&lt;p&gt;Last week at &lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt; we released the &lt;a href="http://code.google.com/apis/maps/"&gt;Google Maps API&lt;/a&gt; (JavaScript version) addition to the &lt;a href="http://code.google.com/qualify/"&gt;Developer Qualification&lt;/a&gt; program. Designed for professionals who currently develop or want to develop applications based on Google and Google-sponsored Open Source APIs, the Google Qualified Developer program will help promote developers to the Google community, provide credibility, and leverage the wisdom of the masses in rating and recognizing best in class developers. In this program, we assess developers in four areas, each of which provides a score towards an overall total required for qualification. Developers must maintain a minimum number of points to remain qualified within the program. Points are awarded for examples of development work, community participation, professional references, and scores on examinations.&lt;/p&gt;

&lt;p&gt;With the addition of the Google Maps API to the available qualifications, the program landing pages and registration have been moved to the Google Code site at &lt;a href="http://code.google.com/qualify/"&gt;http://code.google.com/qualify&lt;/a&gt;. The new landing pages provide information on the program and available APIs, details about qualification requirements, answers to frequently asked questions, and an opportunity to apply as a candidate in the qualification program.&lt;/p&gt;

&lt;p&gt;We've also recently partnered with 3rd party training vendors who can help you get ready to qualify. The Developer Qualification program provides a mechanism by which Google can evaluate and promote the best developers in the community, but does not provide training in preparation for qualification. With the success of the program there exists a business opportunity for 3rd party training vendors to develop and deliver this training. In order to stimulate the growth of this ecosystem, several vendors have been identified and are working closely with Google to develop initial training efforts for the Google Maps API qualification.&lt;/p&gt;

&lt;p&gt;To read more about the program, take a look at our &lt;a href="http://code.google.com/qualify/"&gt;site&lt;/a&gt;. We look forward to expanding our API support and growing the Developer Qualification program. Please reach out to us with questions and feedback at &lt;a href="mailto:devqual-proctors@google.com"&gt;devqual-proctors@google.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;Posted by Shannon Madison, on behalf of the Developer Qualification team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5857377887902579175?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5857377887902579175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5857377887902579175" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5857377887902579175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5857377887902579175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/R3Wr0TetHWk/announcing-google-qualified-js-maps.html" title="Announcing the Google Qualified JS Maps Developer program" /><author><name>Roman Nurik</name><uri>http://www.blogger.com/profile/18437643461371746729</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05783408214857016867" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/06/announcing-google-qualified-js-maps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4ERHg_eCp7ImA9WxJQFk8.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-6215489303309130973</id><published>2009-05-29T11:00:00.000-07:00</published><updated>2009-05-29T11:15:05.640-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T11:15:05.640-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Maps API" /><category scheme="http://www.blogger.com/atom/ns#" term="Earth API" /><title>Hey Maps API and Earth API developers, we just beefed up G_SATELLITE_3D_MAP!</title><content type="html">&lt;p&gt;When the &lt;a href="http://code.google.com/apis/earth/"&gt;Earth API&lt;/a&gt; launched back in May 2008, there was a simultaneous addition to the &lt;a href="http://code.google.com/apis/maps/"&gt;Maps API&lt;/a&gt; that allowed creating an 'Earth' map type with just a single line of code:&lt;/p&gt;
&lt;pre&gt;
map.addMapType(G_SATELLITE_3D_MAP);
&lt;/pre&gt;
&lt;img style="float:right; margin:0 0 10px 10px; width: 78px; height: 218px;" src="http://3.bp.blogspot.com/_uOA5TZ_yzVo/ShGoSrWd0pI/AAAAAAAAACs/irstA7qiEhg/s400/old3dmap.gif" border="0" alt="Figure 1: Old version" /&gt;
&lt;p&gt;This was really the first time that the 2D world of Google Maps and the 3D world of Google Earth came together. Users could navigate content publishers' geographic content in 2D or 3D, whichever they desired.&lt;/p&gt;
&lt;p&gt;However, there were a few limitations with &lt;code&gt;G_SATELLITE_3D_MAP&lt;/code&gt;. For example, only Maps markers and polylines were synchronized in 2D and 3D. Other overlay types were not kept in sync. Also, the transition from 2D and 3D wasn't as transparent to the user as it could've been. See Figure 1 to the right for an artist's depiction of the feature set.&lt;/p&gt;
&lt;p&gt;Today, we're excited to announce a completely rewritten and 'beefed up' &lt;code&gt;G_SATELLITE_3D_MAP&lt;/code&gt; (see Figure 2), available now in the latest experimental version of the Maps API (currently 2.160). While the usage is the same (simply use the line of code above), the overlay/feature synchronization is much more extensive, the 2D/3D transitioning is seamless, and the overall Maps/Earth integration is much stronger.&lt;/p&gt;
&lt;p&gt;Most common Maps API overlays are now supported: markers, polylines, polygons, ground overlays, screen overlays, and even &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GGeoXml"&gt;&lt;code&gt;GGeoXml&lt;/code&gt;&lt;/a&gt; objects are automatically mirrored in the Google Earth Plugin. In fact, &lt;code&gt;GGeoXml&lt;/code&gt; works in an especially powerful way: although Maps may not display all KML from a &lt;code&gt;GGeoXml&lt;/code&gt; (i.e. 3D models), the Earth Plugin will show all the content, in all its 3D glory.&lt;/p&gt;
&lt;p&gt;If you're as psyched as I am about the new features and want to give them a go, check out these demos and the short screencast below:&lt;/p&gt;
&lt;img style="float:right; margin:0 0 10px 10px; width: 200px; height: 377px;" src="http://2.bp.blogspot.com/_uOA5TZ_yzVo/ShGqDu8M21I/AAAAAAAAAC8/QYkckBhxvhQ/s400/beefedup3dmap.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5337234014527609682" border="0" alt="Figure 2: Beefed up G_SATELLITE_3D_MAP" /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/demos/mapsapi/beefy.html"&gt;Beefy G_SATELLITE_3D_MAPS demo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/demos/mapsapi/ggeoxml.html"&gt;3D-enabled GGeoXml demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="text-align: center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8p065PGf0gc&amp;hl=en&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8p065PGf0gc&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;To enable the new Maps/Earth integration on your site, simply load the experimental  Maps API version using:&lt;/p&gt;
&lt;pre&gt;
google.load('maps', '2.160');
&lt;/pre&gt;
&lt;p&gt;and add the &lt;code&gt;G_SATELLITE_3D_MAP&lt;/code&gt; map type. When Maps API v2.160 or later becomes version '2', the new Maps/Earth integration will replace the old version, which will then only be available by hard coding to version 2.159 or earlier in the &lt;code&gt;google.load&lt;/code&gt; statement.&lt;/p&gt;
&lt;p&gt;Lastly, if you have any trouble with the new integration code, please post in the &lt;a href="http://groups.google.com/group/Google-Maps-API"&gt;Maps API&lt;/a&gt; or &lt;a href="http://groups.google.com/group/google-earth-browser-plugin/topics"&gt;Earth API developer forums&lt;/a&gt;. Also see the &lt;a href="http://groups.google.com/group/google-earth-api-notify/browse_thread/thread/f29f440833be82e3"&gt;Earth API notify group announcement&lt;/a&gt; for more details on this release.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;Posted by Roman Nurik, Google Geo APIs Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-6215489303309130973?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/6215489303309130973/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=6215489303309130973" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6215489303309130973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6215489303309130973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/AUCLdfCwowg/hey-maps-api-and-earth-api-developers.html" title="Hey Maps API and Earth API developers, we just beefed up G_SATELLITE_3D_MAP!" /><author><name>Roman Nurik</name><uri>http://www.blogger.com/profile/18437643461371746729</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05783408214857016867" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uOA5TZ_yzVo/ShGoSrWd0pI/AAAAAAAAACs/irstA7qiEhg/s72-c/old3dmap.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/hey-maps-api-and-earth-api-developers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCRHs6cCp7ImA9WxJQGUs.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-1786863731117366462</id><published>2009-05-27T02:20:00.000-07:00</published><updated>2009-06-02T11:31:05.518-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-02T11:31:05.518-07:00</app:edited><title>Announcing Google Maps API v3</title><content type="html">Since our last major release of the JavaScript Maps API three years ago we've been delivering &lt;a href="http://code.google.com/p/gmaps-api-issues/"&gt;feature requests&lt;/a&gt; that all of you have been asking for month over month.  With over 150,000 active websites implementing it, the Maps API has become one of the most popular and trusted developer tools on the web.  We're in the process of giving the Maps API a major facelift and today we're providing you a look at V3 in our &lt;a href="http://code.google.com/labs/faq.html"&gt;Google Code Labs&lt;/a&gt;.

&lt;p&gt;

The primary motivation behind this new version was speed, especially for rendering maps on mobile browsers.  Last year, several of us starting thinking about the possibility of getting the JavaScript Maps API to work on mobile devices.  With the advent of powerful, fully functional browsers on devices such as the iPhone and the Android-based G1, why couldn't we bring the flexibility and reach of modern web development to people who wanted to write maps mashups for mobile phones?  While we've been able to get the existing v2 API working on mobile browsers, we found we were constrained when trying to reduce latency and we needed a new approach.  And thus was born the idea for the next revision of the Maps API.  

&lt;p&gt;

We wanted to get this in your hands as soon as possible, so we've intentionally released it early, and with a &lt;a href="http://code.google.com/apis/maps/documentation/v3/reference.html"&gt;basic set of features&lt;/a&gt;.  We're releasing it in Labs because it's not fully baked yet; we want to get your feedback on the new design and what you'd like to see in future revisions now that we have a chance for a fresh start.  Yes, this does mean that you'll have to rewrite your existing mashup code if you want to take advantage of v3, but we think that &lt;a href="http://www.google.com/corporate/ux.html"&gt;speed is very important&lt;/a&gt; to a great user experience.

&lt;p&gt;

What's changed in v3?  Besides the substantial improvements in speed, a few other things that you'll notice in the initial release:
&lt;ul&gt;

&lt;li&gt;iPhone Safari mobile and Chrome added to our &lt;a href="http://code.google.com/apis/maps/faq.html#browsersupport"&gt;supported browsers&lt;/a&gt;.  Your mashups will also work on Android-based phones with the &lt;a href="http://developer.android.com/sdk/android-1.5-highlights.html"&gt;recent update&lt;/a&gt;, but you may notice some issues, like the "View/Save Image" dialog showing unexpectedly.  We're working with the Android team to fix this and improve the end user's experience in interacting with the map.  We could've waited until it's perfect, but we really wanted to get an early release in your hands and start getting feedback while we fix up a few remaining issues.

&lt;li&gt;No keys required.  You can now copy 'n paste code easily or embed in RSS readers, for example, without getting key errors.

&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"&gt;MVC&lt;/a&gt;-based architecture.  This allowed us to significantly reduce the size of our initial JavaScript download.  We found it to be simple and powerful.

&lt;li&gt;Default UI is enabled automatically.  We'll provide default UI controls and behavior (and we'll update them) so your mashup can keep up with the latest and greatest changes we make to Google Maps.  Of course, if you've got customized controls you're happy with, you can disable the default UI updates.

&lt;li&gt;Namespaces.  Everything is always in the google.maps.* namespace and there is no "G" prefixed variables in the global scope.

&lt;li&gt;Geocoding API has been overhauled based on the feedback we've received with the existing implementation over the past three years.

&lt;/ul&gt;

Check out the &lt;a href="http://code.google.com/apis/maps/documentation/v3/reference.html"&gt;reference&lt;/a&gt; and &lt;a href="http://code.google.com/apis/maps/documentation/v3/"&gt;documentation&lt;/a&gt; for more details.

&lt;p&gt;
What does the API look like?  Here's a quick, complete example that you can grab to render a map.  It's even set up to render a full-screen interactive map on the iPhone and Android browsers.

&lt;pre&gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta name="viewport" content="initial-scale=1.0, user-scalable=no"&amp;gt;
&amp;lt;script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
  function initialize() {
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  }
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body onload="initialize()"&amp;gt;
 &amp;lt;div id="map_canvas" style="width:100%; height:100%"&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/pre&gt;

&lt;p&gt;

We've set up a &lt;a href="http://groups.google.com/group/google-maps-js-api-v3"&gt;new group&lt;/a&gt; for you to provide feedback.  Also, the &lt;a href="http://code.google.com/apis/maps/terms.html"&gt;terms&lt;/a&gt; have been updated to remind you that versions we release as "experimental" or in Labs may not have the same level of support as ones that are already &lt;a href="http://googlegeodevelopers.blogspot.com/2009/03/good-beta-best.html"&gt;out of Labs&lt;/a&gt;.  This means that we'll continue to support the current v2 API well after v3 matures and graduates from Labs.   In the meantime, we're looking forward to adding a lot more functionality to this new release so please send us your feedback!

&lt;p&gt;

&lt;span class="post-author"&gt;Posted by Mickey Kataria, Product Manager&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-1786863731117366462?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/1786863731117366462/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=1786863731117366462" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1786863731117366462?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1786863731117366462?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/jUJYcQOhbMc/announcing-google-maps-api-v3.html" title="Announcing Google Maps API v3" /><author><name>Mickey Kataria, Google Sydney</name><uri>http://www.blogger.com/profile/12766005336748892615</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17024922739450605193" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/announcing-google-maps-api-v3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYBRHg5eSp7ImA9WxJRGEk.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-3195876230444231467</id><published>2009-05-20T11:00:00.000-07:00</published><updated>2009-05-20T11:12:35.621-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-20T11:12:35.621-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="KML" /><category scheme="http://www.blogger.com/atom/ns#" term="Maps API" /><category scheme="http://www.blogger.com/atom/ns#" term="Maps Data API" /><title>Introducing the Google Maps Data API in Labs</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_2JKge9cYW68/ShQ9TX-XaGI/AAAAAAAAAbg/v9nO4r4rK04/s1600-h/gdata-maps.png" style="float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_2JKge9cYW68/ShQ9TX-XaGI/AAAAAAAAAbg/v9nO4r4rK04/s200/gdata-maps.png" /&gt;&lt;/a&gt;
From simple GPS tracks to rich KML documents to collaborative maps, the geo developer community has continually redefined and enriched the geoweb, giving rise to better canvases for geographic participatory culture. Notably, the &lt;a href="http://code.google.com/apis/maps/" title="Google Maps API"&gt;Google Maps API&lt;/a&gt; and other tools have led to the creation of more dynamic and interactive content, putting new demands on the ways in which geodata is stored, accessed, indexed and rendered. To address these challenges, today we've released the &lt;a href="http://code.google.com/apis/maps/documentation/mapsdata/" title="Google Maps Data API"&gt;Google Maps Data API&lt;/a&gt; in Labs, a &lt;a href="http://code.google.com/apis/gdata/" title="Google Data API"&gt;Google Data API&lt;/a&gt; for viewing, storing and updating geodata on the web.

The Google Maps Data API is built on the following principles:

&lt;ul&gt;
&lt;li&gt;&lt;i&gt;Storage should scale simply with usage.&lt;/i&gt; You shouldn't have to worry about maintaining a data store to build a cool Google Maps mashup. Focus on building the client, and we'll provide hosting and bandwidth for free.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Geodata should be accessible across platforms and devices.&lt;/i&gt; With many client libraries and clients, accessing stored geodata should be possible from anywhere, whether it's on the web, a mobile phone, a 3D application, or even a command line.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Realtime geodata requires realtime indexing.&lt;/i&gt; For a lot of geographic content, freshness is important. Geodata from the Google Maps Data API can be instantly indexed and made searchable in Google Maps.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Rendering geodata is better and faster with the right tools.&lt;/i&gt; Through JavaScript, Flash, 3D, static images and more, we'll continue to provide better ways to render your content to meet platform and latency demands.&lt;/li&gt;
&lt;/ul&gt;

Much like &lt;a href="http://code.google.com/apis/kml/" title="KML"&gt;KML&lt;/a&gt;, the Google Maps Data API is based on a data model of maps (collections) and features (placemarks, lines and shapes). Since it uses this familiar model, this new API makes it easy to build geo applications for specific activities like planning and sharing trips, collaboratively mapping hiking trails, or saving a list of favorite restaurants. Also, for any map that is associated with a Google Account, that map is immediately available to view and edit in &lt;a href="http://maps.google.com/maps/mm" title="Google My Maps"&gt;Google My Maps&lt;/a&gt;. Some examples of applications which already use the Google Maps Data API:

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://googlemobile.blogspot.com/2008/12/your-maps-in-your-hands-for-holidays.html" title="My Maps Editor for Android"&gt;My Maps Editor&lt;/a&gt; for Android allows users to create and edit personalized maps from an Android mobile phone. Integration with the phone's location and camera makes it easy to document a trip with photos and text on a map.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.connectorlocal.com/" title="ConnectorLocal"&gt;ConnectorLocal&lt;/a&gt; is a service that informs users about the places where they live, work and visit by gathering trusted hyperlocal information from many sources. Using the Google Maps Data API, ConnectorLocal makes it easy for users to import and export their geodata in and out of Google Maps, and also improves their ability to have data indexed in Google Maps for searching.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mytracks.appspot.com/" title="My Tracks"&gt;My Tracks&lt;/a&gt; enables Android mobile phone users to record GPS tracks and view live statistics while jogging, biking, or participating in other outdoor activities. Stored with Google Maps Data API, these tracks can be accessed, edited and shared using the My Maps feature in Google Maps.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://platial.com/" title="Platial"&gt;Platial&lt;/a&gt;, a social mapping service for people and places, uses the Google Maps API to host geodata for community maps on both Platial and &lt;a href="http://platial.com/frappr" title="Frappr"&gt;Frappr&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

If you're a developer, we encourage you to get started with the Google Maps Data API immediately with our &lt;a href="http://code.google.com/apis/maps/documentation/mapsdata/developers_guide_protocol.html" title="HTTP protocol guide"&gt;HTTP protocol guide&lt;/a&gt;. Additionally, the team at We-Create (the company behind ConnectorLocal) has released their &lt;a href="http://wecreate.com/ces/webready" title="Webready_Gdata_Maps"&gt;Webready&lt;/a&gt; library for PHP developers, built on top of the Zend Framework.

Of course, this release in &lt;a href="http://code.google.com/labs" title="Labs"&gt;Labs&lt;/a&gt;&amp;nbsp;is only the beginning -- in the future, we'll continue to add new functions and libraries to make the API even better. In the meantime, we hope you'll get an &lt;a href="http://code.google.com/apis/maps/documentation/mapsdata/" title="early start"&gt;early start&lt;/a&gt; in developing new applications and pushing the boundaries of the API. Be sure to stop by our &lt;a href="http://groups.google.com/group/google-maps-data-api" title="group"&gt;group&lt;/a&gt; to ask questions, give us feedback, and let us know what you've made!

&lt;p&gt;&lt;span class="post-author"&gt;Posted by Taj Campbell, Google Maps Data API team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-3195876230444231467?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/3195876230444231467/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=3195876230444231467" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3195876230444231467?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3195876230444231467?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/ySMW7UTOsok/introducing-google-maps-data-api-in.html" title="Introducing the Google Maps Data API in Labs" /><author><name>Roman Nurik</name><uri>http://www.blogger.com/profile/18437643461371746729</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05783408214857016867" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_2JKge9cYW68/ShQ9TX-XaGI/AAAAAAAAAbg/v9nO4r4rK04/s72-c/gdata-maps.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/introducing-google-maps-data-api-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUDQ3g7fip7ImA9WxJRGUo.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-2704269656713867428</id><published>2009-05-20T00:35:00.000-07:00</published><updated>2009-05-21T23:37:52.606-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-21T23:37:52.606-07:00</app:edited><title>Earn revenue from your mashup with the Maps Ad Unit</title><content type="html">&lt;p&gt;Today we are excited to announce the Maps Ad Unit, a new feature that will enable geo developers to generate advertising revenue from their Google Maps API implementations.&lt;/p&gt;

&lt;p&gt;The Maps Ad Unit joins the &lt;a href="http://googlegeodevelopers.blogspot.com/2009/03/changes-to-googlebar.html"&gt;recently updated GoogleBar&lt;/a&gt; as part of the AdSense for Maps portfolio. This new opt-in Maps API feature overlays AdSense ads over an embedded Google map on your site. The ads are targeted to the map's view and update as the user moves around the map. To generate revenue after adding the Maps Ad Unit to your Maps API implementation, you need to link it to an &lt;a href="https://www.google.com/adsense"&gt;AdSense account&lt;/a&gt; enabled with AdSense for Content.&lt;/p&gt;

&lt;p&gt;To see the Maps Ad Unit in action, take a look at &lt;a href="http://mapper.acme.com/"&gt;Acme Mapper&lt;/a&gt; and &lt;a href="http://www.zipmaps.net/"&gt;ZipMaps&lt;/a&gt; who have both added it to their Maps API implementations.&lt;/p&gt;
&lt;br&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zhHISKop6YM/ShO8B-Fit-I/AAAAAAAACBM/8Y_4VMfZkTM/s1600-h/mapsadunit.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 316px;" src="http://3.bp.blogspot.com/_zhHISKop6YM/ShO8B-Fit-I/AAAAAAAACBM/8Y_4VMfZkTM/s400/mapsadunit.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337816725396305890" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;Adding the Maps Ad Unit to your site is easy. You simply need to create a &lt;code&gt;GAdsManager&lt;/code&gt; of style 'adunit'. You will also need to link this Maps Ad Unit to an AdSense account. If you don't yet have an AdSense account, &lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=10162"&gt;sign up for an account&lt;/a&gt;. Once you have done so (or if you already have an account) make sure you've also enabled the account with AdSense for Content.&lt;/p&gt;

&lt;p&gt;Once you have an AdSense for Content account, you will have received an AdSense for Content (AFC) &lt;i&gt;publisher ID&lt;/i&gt;. Specify this publisher ID in the &lt;code&gt;GAdsManager&lt;/code&gt; constructor (see code snippets below).  Optionally, you may also specify an AdSense for Content channel if you've set that up. (More information on advertising channels is located &lt;a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&amp;amp;answer=32614"&gt;here&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;The snippet below creates a Maps Ad Unit with the given publisher ID and AdSense for Content channel. We assume that there is a map object that has already been created.&lt;/p&gt;
&lt;pre&gt;
var publisher_id = "pub-1234123412341234"; // Replace 1234123412341234 with your Google AdSense publisher id.

adsManagerOptions = {
maxAdsOnMap : 2,
style: 'adunit',
channel: '12345678' // This field is optional - replace 12345678 with a channel number that you created for GooYAMLgle AdSense tracking
};

adsManager = new GAdsManager(map, publisher_id, adsManagerOptions);
adsManager.enable();
&lt;/pre&gt;

&lt;p&gt;To alter the position of the Map Ad Unit, modify the GAdsManager's position property by specifying an alternative GControlPosition as shown below.&lt;/p&gt;

&lt;pre&gt;
var publisher_id = "pub-1234123412341234"; // Replace 1234123412341234 with your Google AdSense client id.
var adPos = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(7, 20)); // Set the anchor position and GSize offset to your desired values.

adsManagerOptions = {
maxAdsOnMap : 2,
style: 'adunit',
channel: '12345678', // This field is optional - replace 12345678 with a channel number that you created for Google AdSense tracking
position: adPos
};

adsManager = new GAdsManager(map, publisher_id, adsManagerOptions);
adsManager.enable();
&lt;/pre&gt;

&lt;p&gt;If you want a smaller ad unit (for example, if you have a small map), you can get one by setting maxAdsOnMap to 1 in your adsManagerOptions.&lt;/p&gt;

&lt;p&gt;We hope you consider implementing this new tool to generate revenue from your Google Maps API implementation!  More information can be found within the &lt;a href="http://code.google.com/apis/maps/documentation/services.html#Advertising"&gt;Google Maps API docs&lt;/a&gt; and please be sure to provide feedback within the &lt;a href="http://groups.google.com/group/Google-Maps-API?pli=1"&gt;Maps API Google Group&lt;/a&gt;.&lt;/p&gt;


&lt;span class="post-author"&gt;By Nick Verne, Google Maps API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-2704269656713867428?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/2704269656713867428/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=2704269656713867428" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/2704269656713867428?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/2704269656713867428?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/_qmCvkEa39c/earn-revenue-from-your-mashup-with-maps_20.html" title="Earn revenue from your mashup with the Maps Ad Unit" /><author><name>Mike Pegg</name><uri>http://www.blogger.com/profile/00548861437698457347</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06972816605858429811" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_zhHISKop6YM/ShO8B-Fit-I/AAAAAAAACBM/8Y_4VMfZkTM/s72-c/mapsadunit.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/earn-revenue-from-your-mashup-with-maps_20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8MRng_eCp7ImA9WxJQGU0.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-3599278104947591311</id><published>2009-05-12T12:02:00.000-07:00</published><updated>2009-06-01T18:41:27.640-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-01T18:41:27.640-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="geo" /><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>Follow Google Geo on Twitter</title><content type="html">That's right, we're on Twitter. Here are some Google accounts you might want to follow:&lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/googlemaps" target="_blank"&gt;@googlemaps&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/googlemapsapi" target="_blank"&gt;@googlemapsapi&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/googleearth" target="_blank"&gt;@googleearth&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/googleio" target="_blank"&gt;@googleio&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/sketchup" target="_blank"&gt;@sketchup&lt;/a&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div&gt;&lt;/div&gt;&lt;div&gt;We'll post about interesting new features, cool sites, and anything we think is of general interest to the Geo Developer community. Also some of us who post here are also on twitter and you might want to follow us as well. These are unofficial of course, but may be of interest to you:&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/manomarks" target="_blank"&gt;@manomarks&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/pamelafox" target="_blank"&gt;@pamelafox&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/romannurik" target="_blank"&gt;@romannurik&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/mpegg" target="_blank"&gt;@mpegg&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/edparsons" target="_blank"&gt;@edparsons&lt;/a&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;iframe src="https://spreadsheets.google.com/embeddedform?key=r5_ODj2gfyXrISJqO0_LTqQ" width="500" height="525" frameborder="0" marginheight="0" marginwidth="0"&gt;Loading...&lt;/iframe&gt;
&lt;div&gt;And don't forget to register for &lt;a href="http://code.google.com/events/io/" target="_blank"&gt;Google I/O&lt;/a&gt;, it's coming up fast.&lt;/div&gt;&lt;div&gt;
&lt;span class="post-author"&gt;Posted by Mano Marks, Geo APIs team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-3599278104947591311?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/3599278104947591311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=3599278104947591311" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3599278104947591311?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/3599278104947591311?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/jTpPoD8SFe8/follow-google-geo-on-twitter.html" title="Follow Google Geo on Twitter" /><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/01533124836653011009</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05527666315755721093" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/follow-google-geo-on-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAFRH84fSp7ImA9WxJSFEo.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5841558349933923237</id><published>2009-05-04T14:35:00.000-07:00</published><updated>2009-05-04T14:48:35.135-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-04T14:48:35.135-07:00</app:edited><title>Build on top of your public Latitude location with GeoJSON &amp; KML</title><content type="html">&lt;span class="post-author"&gt;Posted by Chris Lambert, Software Engineer, Google Mobile&lt;/span&gt;
&lt;p&gt;
Today, we are pleased to announce the &lt;a href="http://www.google.com/latitude/apps/badge"&gt;Google public location badge&lt;/a&gt;. In its simplest form, the badge is an easy way for Google Latitude users to share their current location to the world, whether it be on their website or blog. This works with a simple &amp;lt;iframe&amp;gt; snippet that users can just embed in their page. We have tried to make this process as easy as possible, but we realize there is an entirely different set of people (you guys, the developers!) that want to do more interesting things with their location.
&lt;/p&gt;
&lt;p&gt;
For those users, we are also pleased to announce that we're releasing KML and JSON feeds of the location data underlying the public location badge. You can take your personal KML feed and open it in &lt;a href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt;, load it in &lt;a href="http://googlemapsapi.blogspot.com/2006/11/kml-on-google-maps.html"&gt;Google Maps&lt;/a&gt;, or put it on your own website with the &lt;a href="http://googlemapsapi.blogspot.com/2007/03/kml-and-georss-support-added-to-google.html"&gt;Google Maps API&lt;/a&gt;. Or you can gain access to the raw latitude, longitude and accuracy from your Google public location badge with the &lt;a href="http://geojson.org/"&gt;GeoJSON&lt;/a&gt; format seen below. As an added bonus, both the JSON and KML feeds allow you to fetch the locations of multiple users &amp;mdash; you only need to change the user parameter to use comma separated identifiers instead of a single one. These two feeds put location information back in the hands of our users, and we're excited to see the kinds of applications developers will build. If you make something cool, be sure to stop by and show us at one of the &lt;a href="http://googlegeodevelopers.blogspot.com/2009/04/upcoming-conferences-global-geo.html"&gt;upcoming geo conferences&lt;/a&gt;!
&lt;/p&gt;
&lt;pre&gt;
{
   "type":"FeatureCollection",
   "features":[
      {
         "type":"Feature",
         "geometry":{
            "type":"Point",
            "coordinates":[
               -122.421092,
               37.79236
            ]
         },
         "properties":{
            "id":"-1890825674540886039",
            "accuracyInMeters":75,
            "timeStamp":1241400239,
            "reverseGeocode":"San Francisco, CA, USA",
            "photoUrl":"...",
            "photoWidth":96,
            "photoHeight":96,
            "placardUrl":"...",
            "placardWidth":56,
            "placardHeight":59
         }
      }
   ]
}
&lt;/pre&gt;

&lt;p&gt;Note: These feeds are read only; there is currently no API to let you modify your location.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5841558349933923237?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5841558349933923237/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5841558349933923237" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5841558349933923237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5841558349933923237?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/_ZG-9INDWjI/build-on-top-of-your-public-latitude.html" title="Build on top of your public Latitude location with GeoJSON &amp; KML" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/05/build-on-top-of-your-public-latitude.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcDSX47eip7ImA9WxJSEUw.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5888532021342203411</id><published>2009-04-29T23:30:00.000-07:00</published><updated>2009-04-30T10:37:58.002-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-30T10:37:58.002-07:00</app:edited><title>Upcoming Conferences: Global Geo Goodness</title><content type="html">&lt;span class="post-author"&gt;Posted by Pamela Fox, Maps API Team&lt;/span&gt;

&lt;p&gt;
It's conference season, and the geo team is coming out in full force. Here are some of the upcoming conferences that we'll be speaking at - if you attend any of these, be sure to say hi and let us know how you're using our APIs!
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.webdu.com.au/"&gt;WebDU&lt;/a&gt;: Sydney, Australia, May 21-22
&lt;li&gt;&lt;a href="http://en.oreilly.com/where2009/"&gt;Where2.0&lt;/a&gt;: San Francisco, CA, May 19-21
&lt;li&gt;&lt;a href="http://wherecamp.pbworks.com/"&gt;WhereCamp&lt;/a&gt;: Palo Alto, CA, May 22-23
&lt;li&gt;&lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt;: San Francisco, CA, May 27-28
&lt;br/&gt;
Google Developer Days:
&lt;li&gt;&lt;a href="http://code.google.com/intl/zh-CN/events/developerday/2009/home.html"&gt;GDD China&lt;/a&gt;: Beijing, China, June 5
&lt;li&gt;&lt;a href="http://code.google.com/intl/ja/events/developerday/2009/home.html"&gt;GDD Japan&lt;/a&gt;: Tokyo, Japan, June 9
&lt;li&gt;&lt;a href="http://code.google.com/events/developerday/2009/"&gt;GDD Brazil&lt;/a&gt;: Sao Paolo, Brazil, June 29
&lt;/ul&gt;

&lt;p&gt;For more events near you, check out our &lt;a href="http://code.google.com/events/calendar/"&gt;Developer Events Calendar&lt;/a&gt;.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5888532021342203411?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5888532021342203411/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5888532021342203411" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5888532021342203411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5888532021342203411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/u8rZ-hjWUXk/upcoming-conferences-global-geo.html" title="Upcoming Conferences: Global Geo Goodness" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/upcoming-conferences-global-geo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYCSXY9cCp7ImA9WxJTFkk.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-1604281857863577285</id><published>2009-04-23T13:26:00.000-07:00</published><updated>2009-04-25T01:29:28.868-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-25T01:29:28.868-07:00</app:edited><title>MarkerClusterer: A Solution to the Too Many Markers Problem</title><content type="html">&lt;span class="post-author"&gt;Posted by Xiaoxi Wu, Community Developer&lt;/span&gt;

&lt;p&gt;
Hi, I'm Xiaoxi (Frank) Wu. I'm a software engineer working for Beyondsoft in Beijing China, where I'm currently working on Maps API applications. While I was learning the Google Maps API, I got a lot of help from the &lt;a href="groups.google.com/group/Google-Maps-API/"&gt;forum&lt;/a&gt; and the &lt;a href="http://gmaps-utility-library.googlecode.com/"&gt;open-source library&lt;/a&gt;, so I've decided to give back to the community with some of my own code.
&lt;/p&gt;

&lt;p&gt;
The first library that I'm releasing is &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/"&gt;MarkerClusterer&lt;/a&gt;. Once, a friend of mine encountered a problem with his application. Using the API, he developed a map and added thousands of markers on the map, and saw that it made his map un-usably slow. This was because every marker is a combination of several DOM elements, and it's a lot of work for a browser to create many thousands of DOM elements. I decided that clustering would be a good solution for his problem, and came up with MarkerClusterer. MarkerClusterer collects markers into different clusters and displays the number of markers in each cluster with a label, creating new clusters as the map zoom level changes. The clustering algorithm is simple; for each new marker it sees, it either puts it inside a pre-existing cluster, or it creates a new cluster if the marker doesn't lie within the bounds of any current cluster.  Because the clusters have a fixed size in each zoom level there are almost the same number of clusters in viewport in average - so MarkerClusterer has a good max and average run time. The screenshot below shows the effect of using MarkerClusterer on an array of 1000 markers (and the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/examples/speed_test_example.html"&gt;live demo&lt;/a&gt; shows you the speed difference):
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://gmaps-samples.googlecode.com/svn/trunk/images/screenshot_clusterereffect.jpg"/&gt;
&lt;/p&gt;

&lt;p&gt;
It's easy to use - just add your markers to an array, pass that and your map into the MarkerClusterer, and it'll take care of the rest. Check out the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/examples/simple_example.html"&gt;simple example&lt;/a&gt; and code snippet below:
&lt;/p&gt;

&lt;pre class="code"&gt;
var markers = [];
  for (var i = 0; i &amp;lt; 100; ++i) {
    var latlng = new GLatLng(data.photos[i].latitude, data.photos[i].longitude);
    var marker = new GMarker(latlng);
    markers.push(marker);
  }
var markerCluster = new MarkerClusterer(map, markers);
&lt;/pre&gt;

&lt;p&gt;
You can also set some options for the MarkerClusterer like the cluster icons and the size of the clusters. You can see those used in this &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/examples/advanced_example.html"&gt;advanced example&lt;/a&gt;. If you want to learn more, check out the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/docs/reference.html"&gt;class reference&lt;/a&gt; or the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/docs/examples.html"&gt;how-to&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
For other clustering options for your markers, check out the &lt;a href="http://www.maptimize.com/"&gt;Maptimize hosted service&lt;/a&gt; or read &lt;a href="http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/"&gt;this article&lt;/a&gt; that compares other 3rd-party clustering extensions. 
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-1604281857863577285?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/1604281857863577285/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=1604281857863577285" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1604281857863577285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1604281857863577285?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/4yZ4dAaH5WY/markerclusterer-solution-to-too-many.html" title="MarkerClusterer: A Solution to the Too Many Markers Problem" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04NQn89fip7ImA9WxJTEkg.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-304080228708380379</id><published>2009-04-17T16:17:00.000-07:00</published><updated>2009-04-20T13:39:53.166-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-20T13:39:53.166-07:00</app:edited><title>New Articles: JQuery, Heat Maps, Multi-Touch, Clustering, &amp; More</title><content type="html">&lt;span class="post-author"&gt;Posted by Pamela Fox, Maps API Team&lt;/span&gt;

&lt;p&gt;
Thanks to Google Alerts and Twitter search, I'm always finding articles and blog posts written by developers about using our various Maps APIs. On the assumption that not all developers are constantly monitoring the internet for occurences of "google maps api", I've made it easy for you to benefit from these articles as well by linking to them from the documentation.
&lt;/p&gt;

&lt;p&gt;
On the &lt;a href="http://code.google.com/apis/maps/documentation/articles.html"&gt;articles page&lt;/a&gt; for the JavaScript API, you'll find externally hosted articles on topics like &lt;a href="http://marcgrabanski.com/article/jquery-google-maps-tutorial-basics"&gt;Using JQuery with the Maps API&lt;/a&gt;, &lt;a href="http://geochalkboard.wordpress.com/2009/03/11/density-mapping-in-google-maps-with-heatmapapi/"&gt;Density Mapping with the HeatMapAPI&lt;/a&gt;, and &lt;a href="http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/comment-page-1/#comment-3003"&gt;Handling Large Amounts of Markers&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
On the articles page for the Flash API, you'll find articles on topics like &lt;a href="http://gvlt.wordpress.com/2008/05/17/tutorial-thematic-mapping-with-the-google-maps-flash-api/"&gt;Thematic Mapping&lt;/a&gt;, &lt;a href="http://amusicology.wordpress.com/2008/11/21/using-google-maps-api-in-actionscript-30-to-render-images/"&gt;Creating Custom Maps&lt;/a&gt;, and &lt;a href="http://www.cyancdesign.com/2009/03/flash-google-maps-api-and-multi-touch/"&gt;Using the API with Multi-Touch Technology&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;Check out the articles pages for the full list, and &lt;a href="https://spreadsheets.google.com/viewform?formkey=ckJxcTRsdHBBSEhyVzA3dFh3OVNvZnc6MA.."&gt;let us know&lt;/a&gt; if you have an article that should be on the lists.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-304080228708380379?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/304080228708380379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=304080228708380379" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/304080228708380379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/304080228708380379?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/Gffw-ZHHCAM/new-articles-jquery-heat-maps-multi.html" title="New Articles: JQuery, Heat Maps, Multi-Touch, Clustering, &amp;amp; More" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/new-articles-jquery-heat-maps-multi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUENR3g6eCp7ImA9WxVaF0U.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-6906713008911196121</id><published>2009-04-14T15:46:00.000-07:00</published><updated>2009-04-15T01:21:36.610-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-15T01:21:36.610-07:00</app:edited><title>Introducing the Mapplets API Demo Gallery</title><content type="html">&lt;span class="post-author"&gt;Posted by Pamela Fox, Maps API Team&lt;/span&gt;

&lt;p&gt;
Due to the popularity of the demo galleries for our &lt;a href="http://code.google.com/apis/maps/documentation/demogallery.html"&gt;JavaScript&lt;/a&gt; and &lt;a href="http://code.google.com/apis/maps/documentation/flash/demogallery.html"&gt;Flash&lt;/a&gt; APIs, we've added a &lt;a href="http://code.google.com/apis/maps/documentation/mapplets/demogallery.html"&gt;demo gallery&lt;/a&gt; to the Mapplets API documentation as well. The demo gallery shows Mapplets created by both Google engineers and 3rd party developers, and provides links so that you can easily view the XML or use the Mapplet in Google Maps. You can learn from the demos how to do things like display KML files, store user preferences, localize your gadget to many languages, render custom tile layers on top of the base map, and more. Many of the demos come straight out of Sterling Udell's fantastic book, &lt;a href="http://www.apress.com/book/view/9781430216209"&gt;"Beginning Google Maps Mashups with Mapplets, KML, and GeoRSS: From Novice to Professional"&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Browse through the &lt;a href="http://code.google.com/apis/maps/documentation/mapplets/demogallery.html"&gt;demo gallery&lt;/a&gt;, and post in our new dedicated &lt;a href="http://groups.google.com/group/google-mapplets"&gt;Mapplets API forum&lt;/a&gt; if you have questions (or a demo to contribute!).
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-6906713008911196121?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/6906713008911196121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=6906713008911196121" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6906713008911196121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6906713008911196121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/T192ZlnUHT8/introducing-mapplets-api-demo-gallery.html" title="Introducing the Mapplets API Demo Gallery" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/introducing-mapplets-api-demo-gallery.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8DQXcyeSp7ImA9WxVaE0Q.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-7669544756454222542</id><published>2009-04-10T15:39:00.000-07:00</published><updated>2009-04-10T14:11:10.991-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-10T14:11:10.991-07:00</app:edited><title>Tours in KML: animating the camera and content in Google Earth</title><content type="html">&lt;span class="post-author"&gt;Posted by Dan Barcay, Google Earth Engineer&lt;/span&gt;

&lt;p&gt;If you're reading this blog, there's a good chance that you've seen or made some awesome geographic data visualizations in KML. Which means you know all too well that it can be hard to grasp the full story behind a visualization, especially a 3D visualization, without being guided through it. If you're like me, you might even have created KML files with giant Placemarks labeled "Start Here" and "Now go Here" and "Great View -- click on me!" If you're like me, you also felt dirty after doing that. It feels kind of like writing Perl -- you do it sometimes, but you don't really like to talk about it.

&lt;p&gt;With the launch of Google Earth 5.0, we tackled this problem by introducing the ability to &lt;a title="record and play your own tours" href="http://google-latlong.blogspot.com/2009/02/google-earths-flying-tour-bus.html" id="ly9g"&gt;record and play your own tours&lt;/a&gt; through the world. Tours are a bit like interactive videos inside of Google Earth. Like a video, you can guide people on narrated journeys around the world and through your data, and you can rewind and fast forward. But when you pause a tour, unlike video, you can wander around in 3D. We included a shiny user interface for creating simple tours from inside of Google Earth 5.0, but underneath the hood tours are encoded as a powerful set of extensions to &lt;a title="the KML language" href="http://code.google.com/apis/kml/documentation/kmlreference.html" id="byg2"&gt;the KML language&lt;/a&gt;, that are much more expressive than the current recording functionality in Google Earth 5.0. In brief, these KML elements specify the timeline of the tour... a sequence of actions that tells Google Earth how to move the user through the world. They also allow you to modify and interact with your data presentation. In developing this language, we wanted to give developers precise control over all aspects of a tour. Not only can you control the movement of the camera, but you can play sound files, pop open info balloons, toggle the visibility of features, manipulate the time slider, and even animate the position and styling of content.

&lt;p&gt;Below is a snippet of an &lt;a href="http://kml-samples.googlecode.com/svn/trunk/kml/touring/sample_tour.kml"&gt;example KML file&lt;/a&gt; containing a placemark and a tour. In the tour, the camera first flies to a good viewing location for the placemark and opens the placemark's info balloon for a few seconds. Then it closes the balloon, and proceeds to animate the size of the placemark icon and the color of the label using the &lt;&lt;a title="AnimatedUpdate" href="http://code.google.com/apis/kml/documentation/kmlreference.html#gxanimatedupdate" id="itgb"&gt;gx:AnimatedUpdate&lt;/a&gt;&gt; action. It's an easy-to-read example for KML developers, but don't expect it to win an Oscar any time soon. On the other hand, it does show off the structure of a basic tour&lt;gx:flyto&gt;&lt;gx:wait&gt;&lt;gx:animatedupdate&gt; pretty well...
&lt;span style="background-color: rgb(255, 153, 0);"&gt;&lt;/span&gt;&lt;/gx:animatedupdate&gt;&lt;/gx:wait&gt;&lt;/gx:flyto&gt;&lt;pre&gt;&lt;b&gt;    ... see &lt;a href="http://kml-samples.googlecode.com/svn/trunk/kml/touring/sample_tour.kml"&gt;full file&lt;/a&gt; for the entire example ...&lt;/b&gt;

&amp;lt;!-- Our tour. The Playlist inside contains the
   sequence of actions that compose the tour. --&amp;gt;
&amp;lt;gx:Tour&amp;gt;
&amp;lt;name&amp;gt;Example Tour&amp;lt;/name&amp;gt;
&amp;lt;gx:Playlist&amp;gt;

  &amp;lt;!-- Fly to the view of the placemark in 5.2 seconds. --&amp;gt;
  &amp;lt;gx:FlyTo&amp;gt;
    &amp;lt;gx:flyToMode&amp;gt;bounce&amp;lt;/gx:flyToMode&amp;gt;
    &amp;lt;gx:duration&amp;gt;5.2&amp;lt;/gx:duration&amp;gt;
    &amp;lt;LookAt&amp;gt;
      &amp;lt;longitude&amp;gt;-78.19074499027175&amp;lt;/longitude&amp;gt;
      &amp;lt;latitude&amp;gt;35.31730443852049&amp;lt;/latitude&amp;gt;
      &amp;lt;altitude&amp;gt;0&amp;lt;/altitude&amp;gt;
      &amp;lt;range&amp;gt;10704.41142132794&amp;lt;/range&amp;gt;
      &amp;lt;tilt&amp;gt;58.57687432675979&amp;lt;/tilt&amp;gt;
      &amp;lt;heading&amp;gt;-76.75532143327891&amp;lt;/heading&amp;gt;
      &amp;lt;altitudeMode&amp;gt;relativeToGround&amp;lt;/altitudeMode&amp;gt;
    &amp;lt;/LookAt&amp;gt;
  &amp;lt;/gx:FlyTo&amp;gt;

  &amp;lt;!-- Open the balloon of the placemark. --&amp;gt;
  &amp;lt;gx:AnimatedUpdate&amp;gt;
    &amp;lt;gx:duration&amp;gt;0.0&amp;lt;/gx:duration&amp;gt;
    &amp;lt;Update&amp;gt;
      &amp;lt;targetHref/&amp;gt; &amp;lt;!-- Left empty to refer to the current file --&amp;gt;
      &amp;lt;Change&amp;gt;
        &amp;lt;Placemark targetid="pm1"&amp;gt;
          &amp;lt;gx:balloonVisibility&amp;gt;1&amp;lt;/gx:balloonVisibility&amp;gt;
        &amp;lt;/Placemark&amp;gt;
      &amp;lt;/Change&amp;gt;
    &amp;lt;/Update&amp;gt;
  &amp;lt;/gx:AnimatedUpdate&amp;gt;

&lt;b&gt;    ... and so on ...&lt;/b&gt;&lt;/pre&gt;To get started learning the language, you can &lt;a title="make tours in Google Earth" href="http://earth.google.com/userguide/v5/ug_touringplaces.html" id="pn_k"&gt;make tours in Google Earth&lt;/a&gt; and save them as KML, reading the source for inspiration. Or you can dive straight into our &lt;a title="documentation and tutorials" href="http://code.google.com/apis/kml/documentation/touring.html" id="nbkb"&gt;KML developer tutorial for touring&lt;/a&gt;. If you're planning on generating tours programmatically, be sure to check out &lt;a title="our open source KML parsing and generating library" href="http://code.google.com/p/libkml/" id="b0:u"&gt;our open source KML parsing and generating library&lt;/a&gt;, which added full support for reading and writing Touring KML on the same day that Google Earth 5.0 came out.

&lt;p&gt;Additionally, we recently released tour support in the &lt;a href="http://googlegeodevelopers.blogspot.com/2009/04/google-earth-plugin-five-o-ocean.html"&gt;Google Earth Plugin version 5.0&lt;/a&gt;. With this, it's now easy to integrate cinematic Google Earth presentations directly into your web content, complete with sound! See the &lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/tour-player.html"&gt;plugin tour API example&lt;/a&gt; for details. Or check out the new &lt;a href="http://google-latlong.blogspot.com/2009/04/explore-google-earth-tours-in-your.html"&gt;tour gallery and touring gadget&lt;/a&gt; for more examples and techniques for putting tours into web pages.

&lt;p&gt;Tours can be as long and as complicated as you want, so just let creativity be your guide in telling your story. Whether you're following GPS traces, modeling the ocean currents, mapping city population over time, or simply showing the good restaurants in your neighborhood, if you're serious about sharing your geo-data with the world, consider making some tours to accompany your KML file. You already have great visualizations lying around, so now show them off in style with a tour!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-7669544756454222542?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/7669544756454222542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=7669544756454222542" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/7669544756454222542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/7669544756454222542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/Zo82tjwT7OY/tours-in-kml-animating-camera-and.html" title="Tours in KML: animating the camera and content in Google Earth" /><author><name>Michael Weiss-Malik</name><uri>http://www.blogger.com/profile/15356003617980878435</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05247347718132456724" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/tours-in-kml-animating-camera-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQH4yeip7ImA9WxVbFkU.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-4768549004798499275</id><published>2009-04-02T09:00:00.000-07:00</published><updated>2009-04-02T09:00:01.092-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-02T09:00:01.092-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google Earth" /><category scheme="http://www.blogger.com/atom/ns#" term="Earth API" /><title>Google Earth Plugin Five-O: Ocean, Touring, and More!</title><content type="html">&lt;span class="post-author"&gt;Posted by Roman Nurik, Google Geo APIs team&lt;/span&gt;
&lt;p&gt;Last month, the Google Earth team made a &lt;a href="http://googleblog.blogspot.com/2009/02/dive-into-new-google-earth.html"&gt;splash in the news&lt;/a&gt; (pun intended) with the release of &lt;a href="http://earth.google.com/"&gt;Google Earth 5.0&lt;/a&gt;. The update included the ability to dive underwater to explore the world's oceans, record and play back narrated tours, view historical imagery, and explore Mars in 3D. Today, our team is happy to announce the 5.0 version of the Google Earth Plugin!&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_uOA5TZ_yzVo/Sb6uDLs9fzI/AAAAAAAAACE/uzQ0xIU2o2Q/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 10px; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_uOA5TZ_yzVo/Sb6uDLs9fzI/AAAAAAAAACE/uzQ0xIU2o2Q/s320/Picture+3.png" alt="Playing tours in the Google Earth Plugin" border="0" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_uOA5TZ_yzVo/Sb6uAFVKUZI/AAAAAAAAAB8/fmj5dUAC2wU/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 10px; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_uOA5TZ_yzVo/Sb6uAFVKUZI/AAAAAAAAAB8/fmj5dUAC2wU/s320/Picture+4.png" alt="Ocean in the Google Earth Plugin" border="0" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_uOA5TZ_yzVo/Sb7MaJRqt5I/AAAAAAAAACU/QyE_W_5Es1E/s1600-h/Picture+2.png"&gt;&lt;img style="margin:10px; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_uOA5TZ_yzVo/Sb7MaJRqt5I/AAAAAAAAACU/QyE_W_5Es1E/s320/Picture+2.png" border="0" alt="Mars in the Google Earth Plugin" /&gt;&lt;/a&gt;
&lt;p&gt;If you've already installed the plugin, you should see the new version automatically within the next day or two. If not, you can download the plugin for Windows or Mac OS X by visiting any &lt;a href="http://code.google.com/apis/earth"&gt;Earth API&lt;/a&gt; web site, such as &lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/demos/milktruck/index.html"&gt;Monster Milktruck&lt;/a&gt; and clicking 'Get The Google Earth Plugin now'.&lt;/p&gt;&lt;p&gt;We've added many of Google Earth 5.0's new capabilities to the plugin and API, as well as a few other frequently requested features. Here is a list of major new features in the plugin and API:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Ocean&lt;/strong&gt;: Underwater terrain and the ocean surface are now available, along with support for the clampToSeaFloor and relativeToSeaFloor altitude modes. In the Earth API, these are &lt;code&gt;ALTITUDE_CLAMP_TO_SEA_FLOOR&lt;/code&gt; and &lt;code&gt;ALTITUDE_RELATIVE_TO_SEA_FLOOR&lt;/code&gt;, respectively. (&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/placemark-ocean.html"&gt;See example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=180"&gt;Issue 180&lt;/a&gt;) &lt;strong&gt;Tour playback&lt;/strong&gt;: This is via &lt;code&gt;KmlTour&lt;/code&gt; and &lt;code&gt;GETourPlayer&lt;/code&gt; in the API. To play tours, you must first either parseKml or fetchKml a file containing a &amp;lt;gx:Tour&amp;gt;, and then use GETourPlayer to play the tour. (&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/tour-player.html"&gt;See example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=43"&gt;Issue 43&lt;/a&gt;) &lt;strong&gt;Programmatic photo overlay viewing&lt;/strong&gt;: This is via &lt;code&gt;KmlPhotoOverlay&lt;/code&gt; and &lt;code&gt;GEPhotoOverlayViewer&lt;/code&gt; in the API. See the note on touring above for details on how to do this, or &lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/photo-overlay-viewer.html"&gt;see the example page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=181"&gt;Issue 181&lt;/a&gt;) &lt;strong&gt;Mars&lt;/strong&gt;: On plugin startup, you can connect to the Mars dataset instead of Earth. (&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/mars.html"&gt;See example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=7"&gt;Issue 7&lt;/a&gt;) &lt;strong&gt;Time slider&lt;/strong&gt;: The standard Google Earth time slider UI will pop up upon loading KML containing time primitives such as &amp;lt;TimeSpan&amp;gt; and &amp;lt;TimeStamp&amp;gt; into the plugin. (&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/kml-parse-timespan.html"&gt;See example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=47"&gt;Issue 47&lt;/a&gt;) &lt;strong&gt;Gray buildings&lt;/strong&gt;: You can now add the gray buildings layer to the plugin with the &lt;code&gt;LAYER_BUILDINGS_LOW_RESOLUTION&lt;/code&gt; layer. (&lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/examples/buildings-gray.html"&gt;See example&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Along with these major new features, we've implemented the following feature requests from the &lt;a href="http://code.google.com/p/earth-api-samples/issues/list"&gt;public issue tracker&lt;/a&gt;: &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=10"&gt;10&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=27"&gt;27&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=42"&gt;42&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=49"&gt;49&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=99"&gt;99&lt;/a&gt; and fixed these publicly reported defects: &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=75"&gt;75&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=118"&gt;118&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=131"&gt;131&lt;/a&gt;, &lt;a href="http://code.google.com/p/earth-api-samples/issues/detail?id=148"&gt;148&lt;/a&gt;. Check the Earth API &lt;a href="http://code.google.com/apis/earth/documentation/releasenotes.html"&gt;release notes&lt;/a&gt; for more details.&lt;/p&gt;&lt;p&gt;The full list of a new samples for this release can be found at the &lt;a href="http://code.google.com/apis/earth/documentation/demogallery.html?topic=fiveoh"&gt;Earth API demo gallery&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;On our agenda for the not-too-distant future is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Getting the other new Google Earth 5.0 features into the plugin&lt;/li&gt;
&lt;li&gt;More complete API support for KML tours&lt;/li&gt;
&lt;li&gt;Native API interfaces for time primitives&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lastly, if you're yearning for more Earth API goodness, make sure to catch &lt;a href="http://code.google.com/events/io/sessions.html#earth"&gt;my Google Earth API session&lt;/a&gt; at &lt;a href="http://code.google.com/io"&gt;Google I/O&lt;/a&gt; on May 27th and 28th. Discounted early bird registration ends May 1st, so &lt;a href="https://io2009.event-projects.com/"&gt;register now&lt;/a&gt; before time runs out!.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-4768549004798499275?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/4768549004798499275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=4768549004798499275" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4768549004798499275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4768549004798499275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/6lWG5H9PulQ/google-earth-plugin-five-o-ocean.html" title="Google Earth Plugin Five-O: Ocean, Touring, and More!" /><author><name>Roman Nurik</name><uri>http://www.blogger.com/profile/18437643461371746729</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05783408214857016867" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_uOA5TZ_yzVo/Sb6uDLs9fzI/AAAAAAAAACE/uzQ0xIU2o2Q/s72-c/Picture+3.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/04/google-earth-plugin-five-o-ocean.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcDSXc_eCp7ImA9WxVbFEg.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-1021682062045143376</id><published>2009-03-29T23:59:00.000-07:00</published><updated>2009-03-30T15:44:38.940-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-30T15:44:38.940-07:00</app:edited><title>New Open-Source Tabs, Markers, and Controls Libraries</title><content type="html">&lt;span class="post-author"&gt;Posted by Pamela Fox, Maps API Team&lt;/span&gt;

&lt;p&gt;
The &lt;a href="http://code.google.com/p/gmaps-utility-library/"&gt;JavaScript API utility library&lt;/a&gt; has been growing fast in the last 3 months, with nearly double the number of libraries now being worked on in the development project. We can always use more libraries or help prepping the current libraries for release (code reviews, documentation, examples) - if you're interested, email &lt;a href="http://groups.google.com/group/google-maps-utility-library"&gt;the group&lt;/a&gt; to introduce yourself and let us know how you'd like to help.  In the meantime, check out the most recent releases:
&lt;/p&gt;

&lt;br/&gt; 
&lt;table&gt; 
&lt;tr&gt; 
&lt;td&gt; 
&lt;img width="160" height="128" src="http://gmaps-samples.googlecode.com/svn/trunk/images/screenshot_ajaxmaxtabs.jpg"&gt; 
&lt;/td&gt; 
&lt;td&gt;
&lt;b&gt;TabbedMaxContent 1.0: &lt;/b&gt;
This library provides a max info window UI that's similar to the info window UI for local business results on &lt;a href="http://maps.google.com"&gt;Google Maps&lt;/a&gt;, and works in conjunction with the API's &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GInfoWindowOptions.maxContent"&gt;maxContent&lt;/a&gt; option. This comes courtesy of Nianwei, a developer who's also working on two upcoming libraries for a lightweight &lt;a href="http://gmaps-utility-library-dev.googlecode.com/svn/trunk/keydragzoom/"&gt;keyboard-triggered drag-to-zoom&lt;/a&gt; and an &lt;a href="http://gmaps-utility-library-dev.googlecode.com/svn/trunk/arcgislink/"&gt;ArcGIS connection layer&lt;/a&gt;. Check out the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/tabbedmaxcontent/1.0/docs/examples.html"&gt;examples&lt;/a&gt; or &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/tabbedmaxcontent/1.0/docs/reference.html"&gt;reference&lt;/a&gt;. 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; 
&lt;img width="160" height="128" src="http://gmaps-samples.googlecode.com/svn/trunk/images/screenshot_chartpopupmarker.jpg"&gt; 
&lt;/td&gt; 
&lt;td&gt;
&lt;b&gt;PopUpMarker 1.0: &lt;/b&gt;
This library displays a "popup" (mini infowindow) to the side of a marker. The popup can either embed HTML, or it can use the Google Charts API to show text and icons in custom color schemes. This comes courtesy of Masashi, a Maps API expert from Japan with a plethora of &lt;a href="http://googlemaps.googlermania.com/"&gt;tutorials and examples&lt;/a&gt; (all in Japanese, of course). Check out the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/popupmarker/1.0/docs/examples.html"&gt;examples&lt;/a&gt; or &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/popupmarker/1.0/docs/reference.html"&gt;reference&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; 
&lt;img width="160" height="128" src="http://gmaps-samples.googlecode.com/svn/trunk/images/screenshot_extlargemapcontrol.jpg"&gt; 
&lt;/td&gt; 
&lt;td&gt;
&lt;b&gt;ExtLargeMapControl 1.1: &lt;/b&gt;
This library creates a control that mimics the functionality and UI of &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GControlImpl.GLargeMapControl3D"&gt;GLargeMapControl3D&lt;/a&gt;, the current control on &lt;a href="http://maps.google.com"&gt;Google Maps&lt;/a&gt;, without the Street View integration. Developers can easily re-skin this control to match their own site, and use it in combination with a re-skinned &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/extmaptypecontrol/1.3/docs/examples.html"&gt;ExtMapTypeControl&lt;/a&gt; for a full custom navigational UI. This also comes courtesy of Masashi, with help from Bjorn, author of &lt;a href="http://googlegeodevelopers.blogspot.com/2008/11/2-more-libraries-released.html"&gt;SnapToRoute and ProgressBarControl&lt;/a&gt;. Check out the &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/extlargemapcontrol/1.1/docs/examples.html"&gt;examples&lt;/a&gt; or &lt;a href="http://gmaps-utility-library.googlecode.com/svn/trunk/extlargemapcontrol/1.1/docs/reference.html"&gt;reference&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-1021682062045143376?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/1021682062045143376/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=1021682062045143376" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1021682062045143376?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1021682062045143376?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/JdXfuAiFJ98/new-open-source-tabs-markers-and.html" title="New Open-Source Tabs, Markers, and Controls Libraries" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/03/new-open-source-tabs-markers-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8MQ3c8cCp7ImA9WxVUE04.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-8634905204730666659</id><published>2009-03-15T23:09:00.000-07:00</published><updated>2009-03-17T17:58:02.978-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-17T17:58:02.978-07:00</app:edited><title>Changes to the GoogleBar</title><content type="html">&lt;span class="post-author"&gt;Posted by Daniel Nadasi, Maps API Team&lt;/span&gt;

&lt;p&gt;As many of you already know, developers can use the &lt;a href="http://googlemapsapi.blogspot.com/2007/11/introducing-googlebar.html"&gt;GoogleBar control&lt;/a&gt; in the Maps API to allow users to search the map for local businesses, landmarks and points of interest. As part of Google's ongoing commitment to improve user and developer experience, we have some changes coming up for the humble GoogleBar. Most importantly, we are adding advertising targeted to the user's searches. We hope that this, as with all Google advertising, will improve the user experience by providing targeted and relevant sponsored results. You will benefit from this as well, as you can make money from these Google ads provided on Maps API sites (see below).&lt;/p&gt;

&lt;p&gt;In addition, there are a number of smaller changes: The JavaScript underlying the GoogleBar has been completely rewritten and the UI has been updated to make it more accessible and easy to use. In its collapsed state, the original GoogleBar control was often missed as a functioning search bar, so we aimed to design a new GoogleBar that was as recognizable as the traditional, elegant Google search field (logo + field + button), while occupying minimal space on the map. You can see the new GoogleBar, together with ads, below:&lt;/p&gt;
&lt;br&gt;
&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 319px;" src="http://1.bp.blogspot.com/_gKZ9oQXXrkk/Sb7zKuViTgI/AAAAAAAAC_U/EhwoPZjMTM8/s320/taqueria.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5313951975906364930" /&gt;

&lt;p&gt;As you can see, in addition to the ad, there have been several cosmetic improvements.  For example, we've removed the magnifying glass so the control is open all the time. As a result, we are deprecating the &lt;code&gt;showOnLoad&lt;/code&gt; argument within the &lt;code&gt;GoogleBarOptions&lt;/code&gt; object. All other arguments continue to be supported. This is a substantial change to the experience, look and feel of the GoogleBar, so we are giving you the opportunity to try the new version and give us some feedback before it becomes the default setting. Starting today you can try out the new GoogleBar by passing the parameter &lt;span class="code"&gt;style='new'&lt;/span&gt; as part of &lt;span class="code"&gt;GoogleBarOptions&lt;/span&gt;, as long as you are using the &lt;a href="http://code.google.com/apis/maps/documentation/index.html#API_Updates"&gt;latest version of the API&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;pre&gt;
var opts = {
 googleBarOptions : {
   style : 'new'
 }
}
map = new GMap2(document.getElementById("map"), opts);
map.setCenter(new GLatLng(33.956461,-118.396225), 13);
map.enableGoogleBar();
&lt;/pre&gt;

&lt;p&gt;Full documentation of the GoogleBar's new features is available in the &lt;a href="http://code.google.com/apis/maps/documentation/services.html#LocalSearch"&gt;API documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This new version of the GoogleBar will contain advertising, as shown above. If you want to profit from the advertising personally, then all you have to do is get a Google AdSense for Search (AFS) id and pass it into the GoogleBar constructor.  If you don't yet have a Google AdSense account, &lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=10162"&gt;sign up for an account&lt;/a&gt;. Once you have done so (or if you already have an account) make sure you've also &lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=9880"&gt;enabled the account with AdSense for Search&lt;/a&gt;. Once you have an AdSense for Search account, you will receive an AFS &lt;i&gt;client ID&lt;/i&gt;. Specify this client ID, as shown below, and you will begin receiving advertising revenue for any clicks on sponsored results within your API application.&lt;/p&gt;

&lt;pre&gt;
var opts = {
 googleBarOptions : {
   style : 'new',
   adsOptions : {
     client : ####  // Your Google AdSense for Search (AFS) client id
   }
 }
}
map = new GMap2(document.getElementById("map"), opts);
map.setCenter(new GLatLng(33.956461,-118.396225), 13);
map.enableGoogleBar();
&lt;/pre&gt;

&lt;p&gt;Optionally, you may also specify an AdSense for Search channel if you've set that up. More information on advertising channels is located in the &lt;a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&amp;amp;answer=32614"&gt;AdSense Help Center&lt;/a&gt;. Additionally, you may also specify the Ad Safety Level to associate with your advertising and the language in which to display results. Please consult the &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GGoogleBarAdsOptions"&gt;Maps API Reference&lt;/a&gt; for specifics.&lt;/p&gt;

&lt;p&gt;You can give us feedback by going to the &lt;a href="http://groups.google.com/group/Google-Maps-API?pli=1"&gt;Maps API Google Group&lt;/a&gt;. A month or so from today we are planning to change the default style of the GoogleBar to be the new and improved version, so stay tuned for further announcements.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-8634905204730666659?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/8634905204730666659/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=8634905204730666659" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/8634905204730666659?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/8634905204730666659?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/QgpsEVAXMso/changes-to-googlebar.html" title="Changes to the GoogleBar" /><author><name>Tom Manshreck</name><uri>http://www.blogger.com/profile/03136133488397409624</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14324818468028571359" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_gKZ9oQXXrkk/Sb7zKuViTgI/AAAAAAAAC_U/EhwoPZjMTM8/s72-c/taqueria.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/03/changes-to-googlebar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4HRn44fCp7ImA9WxVVGEQ.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-1769771271622352237</id><published>2009-03-11T23:27:00.001-07:00</published><updated>2009-03-12T14:55:37.034-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-12T14:55:37.034-07:00</app:edited><title>Good, beta, best</title><content type="html">&lt;span class="post-author"&gt;Posted by Mickey Kataria, Product Manager&lt;/span&gt;

&lt;p&gt;

With the recent announcement of &lt;a href="http://google-code-updates.blogspot.com/2009/03/introducing-labs-for-google-code.html"&gt;Google Code Labs&lt;/a&gt;, we wanted to update you on what's happening with the Maps and Earth APIs.  We're excited to tell you that none of the Maps APIs (JavaScript, Flash, Static, Mapplets) or the Earth API are in labs.  Furthermore, we've taken the opportunity to remove the 'beta' label from the Maps and Earth APIs.  The original Maps API has been around for more than three years.  Thanks to the hard work of dozens of people, the APIs have been very stable and become mature products that are used by sites and applications of all sizes.  Our stability and commitment to supporting the APIs shouldn't be a big surprise for most of you, but now you've got it in writing too. :)

&lt;p&gt;

While the overall APIs are not in labs, there is one recent feature that is still &lt;a href="http://code.google.com/labs/faq.html#experimental"&gt;experimental&lt;/a&gt;:  AIR support in the Maps API for Flash.  From time to time, as we release new features that are more of an experimental nature, we may let them bake in labs for some time.  As with &lt;a href="http://labs.google.com/"&gt;Google Labs&lt;/a&gt; and &lt;a href="http://code.google.com/labs/"&gt;Google Code Labs&lt;/a&gt;, we'd like to get early feedback and see how you use these experimental features before making a long term commitment to them.

&lt;p&gt;

As always, please continue sending your feedback in the appropriate forum:
&lt;ul&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/Google-Maps-API"&gt;JavaScript and Static Maps APIs&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-maps-api-for-flash"&gt;Maps API for Flash&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-mapplets"&gt;Mapplets&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-earth-browser-plugin/topics"&gt;Earth API&lt;/a&gt;
&lt;/ul&gt;

&lt;p&gt;

We've also set up "notify" groups that you can sign up for if you just want to see the important updates, e.g. new releases.  You can sign up from the home page of each API or use the links below:

&lt;ul&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-maps-api-notify"&gt;JavaScript and Static Maps APIs announcements&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-maps-api-for-flash-notify"&gt;Maps API for Flash announcements&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-mapplets-api-notify"&gt;Mapplets announcements&lt;/a&gt;
    &lt;li&gt; &lt;a href="http://groups.google.com/group/google-earth-api-notify"&gt;Earth API announcements&lt;/a&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-1769771271622352237?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/1769771271622352237/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=1769771271622352237" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1769771271622352237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/1769771271622352237?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/grdFLG3cGHI/good-beta-best.html" title="Good, beta, best" /><author><name>Mickey Kataria, Google Sydney</name><uri>http://www.blogger.com/profile/12766005336748892615</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17024922739450605193" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/03/good-beta-best.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDRnc9cCp7ImA9WxVWFU4.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5066234722613650998</id><published>2009-02-24T20:55:00.000-08:00</published><updated>2009-02-24T21:07:57.968-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-24T21:07:57.968-08:00</app:edited><title>Monkey see, monkey do</title><content type="html">&lt;span class="post-author"&gt;Posted by Jez Fletcher, Maps API team&lt;/span&gt;

&lt;p&gt;
Ever wanted to be someone else? No, we're not offering a &lt;a href="http://www.google.com/search?q=being+john+malkovich"&gt;Being John Malkovich&lt;/a&gt; service, but we are offering Maps API developers the default look-and-feel of &lt;a href="http://maps.google.com"&gt;maps.google.com&lt;/a&gt;, all with one simple function call.
&lt;/p&gt;
&lt;p&gt;
Now, you can get the standard UI elements you'd see on Google Maps (including the newer style "3D" map and zoom controls), along with other standard behaviour such as keyboard and mouse handling, just by adding one line of code.
&lt;/p&gt;

&lt;pre&gt;
  // Create a map.
  var map = new GMap2(myMapDiv);
  // Give it the maps.google.com experience.
  map.setUIToDefault();
&lt;/pre&gt;

&lt;p&gt;
&lt;img src="http://4.bp.blogspot.com/_FylZ0kTmnTQ/SaTR9PctmxI/AAAAAAAA4Is/zJfn7PMCN0U/s400/setuitodefault3.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
  What's more, this function will ensure that if the UI of maps.google.com changes, these changes will also be reflected in your site without you having to update anything.
&lt;/p&gt;
&lt;p&gt;The function will automatically adjust what controls the map gets based on the size of the map. For maps larger than 300 x 400, the default controls are:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;GLargeMapControl3D&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;GMapTypeControl&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;GScaleControl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  For maps 300 x 400 or smaller, the default controls are:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;GSmallZoomControl3D&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;GMenuMapTypeControl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  Both will also enable scroll wheel zoom, double click zoom and add a
  &lt;code&gt;GKeyboardHandler&lt;/code&gt; to the map.
&lt;/p&gt;

&lt;p&gt;
You can also tweak the appearance to your liking. If you mostly want the  standard behaviour, but, for example, don't want scroll wheel zoom enabled, you can get an instance of the default GMapUIOptions object, and adjust the fields to your liking.
&lt;/p&gt;
&lt;pre&gt;
  // Get the default GMapUIOptions.
  var uiOptions = map.getDefaultUI();
  // Disable scroll wheel zoom.
  uiOptions.zoom.scrollwheel = false;
  // Now set the map's UI with the tweaked options.
  map.setUI(uiOptions);
&lt;/pre&gt;
&lt;p&gt;
  Along with this change, you can now also get direct access to the new 3D controls used on maps.google.com:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;GLargeMapControl3D&lt;/code&gt;, and&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;GSmallZoomControl3D&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  A full reference of the functions, the GMapUIOptions class and all the defaults
  are available on the &lt;a href="http://code.google.com/apis/maps/documentation/reference.html#GMapUIOptions"&gt;Google Maps API Reference&lt;/a&gt;.  As always, head over to the &lt;a href="http://groups.google.com/group/Google-Maps-API"&gt;forum&lt;/a&gt; if you have any questions.
&lt;/p&gt;
&lt;p&gt;
Sorry that puppeteering of John M is not included, but at least now your site can easily look and act like Google Maps!
&lt;/p&gt;
&lt;p&gt;
One more thing: if you want to meet the Maps API team and hear about other &lt;a href="http://code.google.com/events/io/sessions.html"&gt;exciting things&lt;/a&gt; we're working on, come to &lt;a href="http://code.google.com/io"&gt;Google I/O&lt;/a&gt; in May.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5066234722613650998?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5066234722613650998/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5066234722613650998" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5066234722613650998?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5066234722613650998?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/RTNtdflkpeM/posted-by-jez-fletcher-maps-api-team.html" title="Monkey see, monkey do" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_FylZ0kTmnTQ/SaTR9PctmxI/AAAAAAAA4Is/zJfn7PMCN0U/s72-c/setuitodefault3.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/posted-by-jez-fletcher-maps-api-team.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAARnc-fSp7ImA9WxVWFE0.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5931149946123102078</id><published>2009-02-23T08:32:00.000-08:00</published><updated>2009-02-23T08:32:27.955-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-23T08:32:27.955-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="KML" /><category scheme="http://www.blogger.com/atom/ns#" term="maps" /><category scheme="http://www.blogger.com/atom/ns#" term="Maps API" /><category scheme="http://www.blogger.com/atom/ns#" term="Earth API" /><category scheme="http://www.blogger.com/atom/ns#" term="geo" /><category scheme="http://www.blogger.com/atom/ns#" term="Earth" /><title>Google New York City Geo APIs Hackathon</title><content type="html">&lt;span class="post-author"&gt;Posted by Mano Marks, Geo APIs Team&lt;/span&gt;
&lt;p&gt;March 5th, from 3-9pm, Google will be hosting a Google &lt;a href="http://code.google.com/more/#products-geo-earth" target="_blank"&gt;Geo APIs&lt;/a&gt; hackathon at our &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=111+8th+Avenue+at+15th+street+manhattan&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=33.572881,53.964844&amp;amp;ie=UTF8&amp;amp;ll=40.742673,-74.001975&amp;amp;spn=0.007836,0.013175&amp;amp;z=16" target="_blank"&gt;Manhattan offices&lt;/a&gt;, 111 8th Avenue at 15th street in Manhattan. Join us for some hacking around on Google Geo APIs. Work on our learning materials, or work on your own projects. There will presentations on new features in the APIs, and plenty of Geo Googlers around to help you with your technical questions. In particular, we will be helping people with the Google Maps API, the Google Earth API, and KML.&lt;/p&gt;&lt;p&gt;To register, click &lt;a href="http://hackathon.appspot.com/index.html?event=agloYWNrYXRob25yDAsSBUV2ZW50GKFqDA" target="_blank"&gt;here&lt;/a&gt;. Space is limited, so you may want to register now.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5931149946123102078?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5931149946123102078/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5931149946123102078" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5931149946123102078?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5931149946123102078?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/qC4O541B-RU/google-new-york-city-geo-apis-hackathon.html" title="Google New York City Geo APIs Hackathon" /><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/01533124836653011009</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05527666315755721093" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/google-new-york-city-geo-apis-hackathon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IDRn05eCp7ImA9WxVWEkg.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-5697184585110600404</id><published>2009-02-19T17:18:00.000-08:00</published><updated>2009-02-21T14:32:57.320-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-21T14:32:57.320-08:00</app:edited><title>Map Maker for Developers</title><content type="html">&lt;span class="post-author"&gt;Posted by Lalitesh Katragadda and Lior Ron, Map Maker Team&lt;/span&gt;&lt;br&gt;&lt;br&gt;

Since June 2008, thousands of passionate users have been mapping their heart out in &lt;a href="http://mapmaker.google.com"&gt;mapmaker.google.com&lt;/a&gt;. The maps made are some of the finest ever seen in these &lt;a href="http://www.google.com/mapmaker/mapfiles/s/launched.html"&gt;160+ countries&lt;/a&gt;. In a developer day we did in Bangalore, the top request from developers was if we can get these fresh maps in the API so that their users can benefit from the community's effort. We responded by launching the tiles from Map Maker as new map types in both the Google JavaScript Maps API (v2.146) and the Static Maps API as new map types. So if you have a Google maps mashup that is primarily used in one of these countries or you simply want to embed a fresh map in your blog post or web page, you can use these maps that are updated every day by the map maker community.  Google is committed to providing the best maps possible to users everywhere and this is just one more step in our quest to make maps from mapmaker as useful to users as possible.
&lt;br&gt;&lt;br&gt;

Here is how you can use these &lt;a href="https://sites.google.com/site/mapmakeruserhelp/api-and-staticmaps"&gt;new features&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;

&lt;span style="font-weight:bold;"&gt;JS API syntax&lt;/span&gt;&lt;br&gt;
Use G_MAPMAKER_NORMAL_MAP and G_MAPMAKER_HYBRID_MAP in lieu of the &lt;a href="http://code.google.com/apis/maps/documentation/introduction.html#MapTypes"&gt;normal map and hybrid types&lt;/a&gt; to show mapmaker map tiles
and hybrid tiles respectively. Remember that these serve maps only for the countries being edited in mapmaker, not all the countries available in maps.google.com.  If you're making a mashup with a global audience, you may want to add logic to switch between the map types, or offer the option to the users.
&lt;br&gt;&lt;br&gt;

&lt;span style="font-weight:bold;"&gt;Static Maps API syntax&lt;/span&gt;&lt;br&gt;
users can access mapmaker tiles using '&lt;a href="http://code.google.com/apis/maps/documentation/staticmaps/#MapTypes"&gt;maptype&lt;/a&gt;' values of "mapmaker-roadmap" or "mapmaker-hybrid"
e.g.
http://maps.google.com/staticmap?center=31.494445,74.334011&amp;zoom=15&amp;size=512x512&amp;maptype=mapmaker-roadmap&amp;key=MAPS_API_KEY&amp;sensor=false
&lt;br&gt;&lt;br&gt;

See the comparison of this URL vs the same URL without the "maptype=mapmaker-roadmap" for Lahore, Pakistan.
&lt;br&gt;&lt;br&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td nowrap&gt;
&lt;img src="http://maps.google.com/staticmap?center=31.494445,74.334011&amp;zoom=15&amp;size=256x256&amp;maptype=mapmaker-roadmap&amp;key=ABQIAAAA7QUChpcnvnmXxsjC7s1fCxT_vF8H563IpgJj0d9Cs5FjYpMIWBS0iPgq8HpzTeoEF0-nUGh1NQuUoA&amp;sensor=false"&gt; &amp;nbsp; &lt;img src="http://maps.google.com/staticmap?center=31.494445,74.334011&amp;zoom=15&amp;size=256x256&amp;key=ABQIAAAA7QUChpcnvnmXxsjC7s1fCxT_vF8H563IpgJj0d9Cs5FjYpMIWBS0iPgq8HpzTeoEF0-nUGh1NQuUoA&amp;sensor=false"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;br&gt;&lt;br&gt;

If you have data that you want to update yourself - whether you're a city GIS expert, a company's webmaster or just a local expert, you can edit map maker and the new data will show on your mashup within a day. For more information read the latest developments on our &lt;a href="http://google-latlong.blogspot.com/2009/02/map-making-in-your-language-on-your.html"&gt;Lat Long blog&lt;/a&gt;, visit Map Maker, interact with the map maker community, or go to our help site.  And, as always, please follow up with your suggestions and questions in the &lt;a href="http://groups.google.com/group/Google-Maps-API"&gt;forum&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-5697184585110600404?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/5697184585110600404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=5697184585110600404" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5697184585110600404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/5697184585110600404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/VZT8xbubams/map-maker-for-developers.html" title="Map Maker for Developers" /><author><name>Mickey Kataria, Google Sydney</name><uri>http://www.blogger.com/profile/12766005336748892615</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17024922739450605193" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/map-maker-for-developers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGQng8fCp7ImA9WxVQGEQ.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-4065279790308165598</id><published>2009-02-05T19:00:00.000-08:00</published><updated>2009-02-05T19:18:43.674-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T19:18:43.674-08:00</app:edited><title>Hola, Allo, Olá, Здравствуйте! Maps API Developers!</title><content type="html">&lt;span class="post-author"&gt;Posted by Tom Manshreck, Maps API Team&lt;/span&gt;

&lt;p&gt;Bom dia! добрый день!&lt;/p&gt;

&lt;table&gt;
&lt;td&gt;
&lt;iframe src="http://gmaps-samples.googlecode.com/svn/trunk/intldocs/map-simple-brazil.html" height="300px" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"&gt;&lt;/iframe&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;iframe src="http://gmaps-samples.googlecode.com/svn/trunk/intldocs/map-simple-russia.html" height="300px" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"&gt;&lt;/iframe&gt;
&lt;/td&gt;
&lt;/table&gt;
(This post has been translated into Portuguese and Russian.)

&lt;p&gt;During the past year, we've expanded translations of the Maps API documentation into more and more languages, making it easier for developers around the world to add Google Maps to their websites. Earlier in 2008, we provided &lt;a href="http://googlemapsapi.blogspot.com/2008/01/and-from-google-maps.html"&gt;Japanese and Simplified Chinese translations&lt;/a&gt; which we've recently updated.&lt;/p&gt;

&lt;p&gt;
Over the past few months, we've quietly released several more translations of the Maps API documentation, with Brazilian Portuguese and Russian being the latest to undergo a full translation. We previously added German and Spanish in September, 2008. Each of these translations can be found at the following URLs:&lt;/p&gt;
&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/de/apis/maps/"&gt;http://code.google.com/intl/de/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/es/apis/maps/"&gt;http://code.google.com/intl/es/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/pt-BR/apis/maps/"&gt;http://code.google.com/intl/pt-BR/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/ru/apis/maps/"&gt;http://code.google.com/intl/ru/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Additionally, you can change to translated documentation by selecting from the language selector in the top right portion of &lt;code&gt;code.google.com&lt;/code&gt;'s documentation pages. If a translation is available in that language, it will appear. (If no translation is available, default English will be shown.)&lt;/p&gt;

&lt;p&gt;We've chosen these translations because they cover most of the non-English speaking readers of the Maps API documentation. We hope they will encourage a new group of developers to use the Google Maps APIs.&lt;/p&gt;

&lt;p&gt;Note: although we will try to keep the translated documentation as up-to-date as possible, the English docs will often contain the latest information. (All developers should be sure to periodically check out the &lt;a href="http://code.google.com/apis/maps/documentation/reference.html"&gt;English Maps API Reference&lt;/a&gt;, which is updated every few weeks.)&lt;/p&gt;

&lt;br&gt;
***
&lt;br&gt;
&lt;p&gt;Bom dia!&lt;/p&gt;

&lt;p&gt;Ao longo do ano passado, nós expandimos os idiomas para os quais a
documentação da Maps API é traduzida, facilitando que desenvolvedores
ao redor do mundo adicionem Google Maps aos seus websites. No início
de 2008, nós disponibilizamos traduções em japonês e chinês
simplificado. Ambas as versões foram atualizadas recentemente.&lt;/p&gt;

&lt;p&gt;Nos últimos meses, silenciosamente lançamos mais traduções completas
da documentação da Maps API, com traduções para o alemão e o espanhol
em setembro de 2008 e português (brasileiro) e russo, recentemente.
Estas traduções podem ser encontradas nas seguintes URLs:&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/de/apis/maps/"&gt;http://code.google.com/intl/de/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/es/apis/maps/"&gt;http://code.google.com/intl/es/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/pt-BR/apis/maps/"&gt;http://code.google.com/intl/pt-BR/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/ru/apis/maps/"&gt;http://code.google.com/intl/ru/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Você pode escolher entre as traduções utilizando o selecionador de
idioma no canto superior direito da página de documentação do
code.google.com. Se uma tradução estiver disponível naquele idioma,
ela irá aparecer (caso contrário, a versão em inglês será exibida).&lt;/p&gt;

&lt;p&gt;Nós escolhemos estes idiomas porque eles cobrem a maioria dos usuários
da documentação da Maps API que não fala inglês. Esperamos que estas
traduções encorajem um novo grupo de desenvolvedores a usar a Maps API
da Google.&lt;/p&gt;

&lt;p&gt;Nota: nós tentaremos manter as traduções tão atualizadas quanto
possível. Porém, a versão em inglês irá, algumas vezes, conter
informações mais recentes. (Desenvolvedores devem verificar
periodicamente a documentação de referência da Maps API em inglês. Ela
é atualizada há cada poucas semanas.)&lt;/p&gt;

&lt;br&gt;
***
&lt;br&gt;
&lt;p&gt;Добрый день!&lt;/p&gt;

&lt;p&gt;За последний год мы перевели документацию по API Карт на большое количество языков, и разработчикам по всему миру стало легче использовать Карты Google на своих сайтах. В начале 2008 года мы выпустили, а недавно обновили, &lt;a href="http://googlemapsapi.blogspot.com/2008/01/and-from-google-maps.html"&gt;переводы на японский и упрощённый китайский языки&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;За несколько последних месяцев мы тихо и незаметно выпустили ещё несколько переводов документации по API карт. В сентябре появились немецкий и испанский переводы, а совсем недавно вышли переводы на бразильский, португальский и русский языки. Эти переводы можно найти здесь:&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/de/apis/maps/"&gt;http://code.google.com/intl/de/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/es/apis/maps/"&gt;http://code.google.com/intl/es/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/pt-BR/apis/maps/"&gt;http://code.google.com/intl/pt-BR/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/ru/apis/maps/"&gt;http://code.google.com/intl/ru/apis/maps/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Вы можете переключиться на переведённую документацию, выбрав язык из выпадающего списка в правом верхнем углу страниц сайта &lt;code&gt;code.google.com&lt;/code&gt;. Если перевод текста страницы для для выбранного языка существует, то он будет показан (если его нет, то будет показан текст на английском).&lt;/p&gt;

&lt;p&gt;Мы выбрали именно эти языки, потому что большинство неанглоязычных читателей документации API Карт говорит именно на них. Надеемся, что переводы подтолкнут новых разработчиков к использованию API Карт Google.&lt;/p&gt;

&lt;p&gt;Замечание: мы стараемся поддерживать переведённую документацию в актуальном состоянии, но часто англоязычная документация содержит наиболее свежую информацию. Всем разработчикам следует время от времени заглядывать в &lt;a href="http://code.google.com/apis/maps/documentation/reference.html"&gt;англоязычный справочник по API Карт&lt;/a&gt;, который обновляется раз в несколько недель.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-4065279790308165598?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/4065279790308165598/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=4065279790308165598" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4065279790308165598?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/4065279790308165598?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/Xgl6_KnxTVM/hola-allo-ola-maps-api-developers.html" title="Hola, Allo, Olá, Здравствуйте! Maps API Developers!" /><author><name>Tom Manshreck</name><uri>http://www.blogger.com/profile/03136133488397409624</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14324818468028571359" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/hola-allo-ola-maps-api-developers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcEQX8_eCp7ImA9WxVQF0k.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-6822847404753034179</id><published>2009-02-04T03:30:00.000-08:00</published><updated>2009-02-04T03:30:00.140-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-04T03:30:00.140-08:00</app:edited><title>Webmasters: Easily Embed Directions on Your Site</title><content type="html">&lt;span class="post-author"&gt;Posted by Pamela Fox, Maps API Team&lt;/span&gt;

&lt;p&gt;
Back in December, Julie posted on the Google LatLong blog about a new directions gadget that webmasters can embed on their websites to make it super easy for people to find them. &lt;a href="http://google-latlong.blogspot.com/2008/12/gift-of-gadgets.html"&gt;Check out that post&lt;/a&gt; for information on embedding and the diverse ways the gadget can be used (with coordinates, addresses, zip codes, and more).
&lt;/p&gt;
&lt;p&gt;
The gadget uses the &lt;a href="http://code.google.com/apis/maps/"&gt;Google Maps API&lt;/a&gt; and &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, and does nifty things like display a "Did you mean..." when they've entered an ambiguous address and then animates the selected address flying into the form. For those of you developers who like the functionality but want the it more integrated more into your site, the good news is that you can easily copy, paste, and modify the code from &lt;a href="http://hosting.gmodules.com/ig/gadgets/file/114281111391296844949/driving-directions.xml"&gt;the gadget XML spec&lt;/a&gt;. 
&lt;/p&gt;
&lt;img src="http://3.bp.blogspot.com/_T1lquhCmKo8/SYZ1JMOCNDI/AAAAAAAABrk/5nACu_0rK6E/s400/screenshot_directionsgadget.jpg"  style="border:1px solid black"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-6822847404753034179?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/6822847404753034179/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=6822847404753034179" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6822847404753034179?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/6822847404753034179?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/AqUgAETFOcA/webmasters-easily-embed-directions-on.html" title="Webmasters: Easily Embed Directions on Your Site" /><author><name>Pamela Fox</name><uri>http://www.blogger.com/profile/15947664772001597300</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13108392363095724722" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_T1lquhCmKo8/SYZ1JMOCNDI/AAAAAAAABrk/5nACu_0rK6E/s72-c/screenshot_directionsgadget.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/webmasters-easily-embed-directions-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUARnYycSp7ImA9WxVQF0g.&quot;"><id>tag:blogger.com,1999:blog-3124040365160254795.post-8693200917069852026</id><published>2009-02-02T16:31:00.000-08:00</published><updated>2009-02-04T05:14:07.899-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-04T05:14:07.899-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="KML" /><category scheme="http://www.blogger.com/atom/ns#" term="Earth" /><title>Ocean, Time Machine, and Touring: New KML Extensions for Google Earth 5.0</title><content type="html">&lt;span class="post-author"&gt;Posted by Mano Marks, Geo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;APIs&lt;/span&gt; team&lt;/span&gt;

&lt;p&gt;You've probably already &lt;a href="http://googleblog.blogspot.com/2009/02/dive-into-new-google-earth.html" target="_blank"&gt;read&lt;/a&gt; about this week's release of Google Earth 5.0 and its exciting new features, including Historical Imagery, Touring, Ocean, and Mars. As is usually the case for new features in Earth, we wanted to add representations for some of them to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;KML&lt;/span&gt;. In the past this was done by simply adding new elements to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;KML&lt;/span&gt; specification. But that's no longer an option for us, since &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;KML&lt;/span&gt; is no longer controlled by Google, having been &lt;a href="http://googleblog.blogspot.com/2008/04/kml-html-of-geographic-content.html"&gt;released&lt;/a&gt; as an open standard by the &lt;a href="http://www.opengeospatial.org/" target="_blank"&gt;Open &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Geospatial&lt;/span&gt; Consortium&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;So what's an application provider to do? Fortunately, both Google and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;OGC&lt;/span&gt; had the foresight to anticipate that innovation would continue to drive the standard forward, so &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;OGC&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;KML&lt;/span&gt; includes a standardized mechanism that enables any group to extend &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;KML&lt;/span&gt; within their own XML &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;namespace&lt;/span&gt;. Google Earth 5.0 uses this extension mechanism to add to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;KML&lt;/span&gt; in a standards-compliant way. We've also added some new documentation to guide you in understanding these new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;KML&lt;/span&gt; constructs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, something mentioned no where else, Google Earth now supports close to the full range of HTML and JavaScript in the description balloon! This is something that developers have been asking for, and we were able to change the HTML rendering engine to include it. For more details, check out the KML Reference for the &lt;a href="http://code.google.com/apis/kml/documentation/kmlreference.html#description"&gt;description&lt;/a&gt; element.&lt;/li&gt;
&lt;li&gt;We added a new Developer Guide article on &lt;a href="http://code.google.com/apis/kml/documentation/" target="_blank"&gt;Touring&lt;/a&gt;. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;KML&lt;/span&gt; representation of touring is much more expressive than the simple record button in Google Earth -- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;KML&lt;/span&gt; tour authors have very precise control over the camera, the time slider, and even 3D object animation.
&lt;/li&gt;
&lt;li&gt;We added another Developer Guide article on &lt;a href="http://code.google.com/apis/kml/documentation/altitudemode.html" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;altitudeMode&lt;/span&gt;&lt;/a&gt;, which explains among other things the new ability to place Features below the water surface.&lt;/li&gt;
&lt;li&gt;We've updated the &lt;a href="http://code.google.com/apis/kml/documentation/time.html"&gt;Time and Animation&lt;/a&gt; article to take into account touring and time machine. In particular, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;KML&lt;/span&gt; authors can now control the time slider, both inside and outside of a tour.&lt;/li&gt;
&lt;li&gt;We updated our &lt;a href="http://code.google.com/apis/kml/documentation/kmlreference.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;KML&lt;/span&gt; reference&lt;/a&gt; to include entries on all the of the new extension elements. The new elements are carefully called out in the documentation as being part of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Google's&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;KML&lt;/span&gt; extension &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;namespace&lt;/span&gt;, to distinguish them from the core &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;OGC&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;KML&lt;/span&gt; elements.
&lt;/li&gt;
&lt;li&gt;And finally, we updated &lt;a href="http://code.google.com/p/libkml/" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;libkml&lt;/span&gt;&lt;/a&gt; to version 0.9. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;libkml&lt;/span&gt; is a powerful open source library for use with applications that want to parse, generate and operate on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;KML&lt;/span&gt;. The new version provides support for the extensions, as well as Update/Delete.&lt;/li&gt;


&lt;/ul&gt;&lt;p&gt;For those who are interested in precise XML validation of the new elements, please see &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Google's&lt;/span&gt; new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;KML&lt;/span&gt; 2.2 extensions &lt;a href="http://code.google.com/apis/kml/schema/kml22gx.xsd" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;XSD&lt;/span&gt;&lt;/a&gt;, which is the formal standards-compliant description of their syntax.&lt;/p&gt;

&lt;p&gt;As always, you can find out more information or ask questions in the &lt;a href="http://groups.google.com/group/kml-support" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;KML&lt;/span&gt; Developer Forum&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3124040365160254795-8693200917069852026?l=googlegeodevelopers.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlegeodevelopers.blogspot.com/feeds/8693200917069852026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3124040365160254795&amp;postID=8693200917069852026" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/8693200917069852026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3124040365160254795/posts/default/8693200917069852026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleGeoDevelopersBlog/~3/NZJEznvCm5w/ocean-time-machine-and-touring-new-kml.html" title="Ocean, Time Machine, and Touring: New KML Extensions for Google Earth 5.0" /><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/01533124836653011009</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05527666315755721093" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://googlegeodevelopers.blogspot.com/2009/02/ocean-time-machine-and-touring-new-kml.html</feedburner:origLink></entry></feed>
