Wednesday, February 25, 2015

Keeping your maps in check: Introducing the Google Maps API checker



Editor’s Note: Today’s post is designed to answer frequently asked questions about using Google Maps APIs. For tips on how to deploy Google’s mapping tools, read more from Dave Overstrom, Program Manager at Google.

Google Maps APIs enable you to create familiar and engaging location-based applications. Over the past decade, we’ve worked hard to make Google Maps simple and easy to use for consumers, and we think the same experience should hold true when integrating our mapping APIs. That’s why we’re excited to announce the Google Maps API checker, a new Chrome extension designed to help deploy our licensed Google Maps APIs.

The checker allows you to determine if your website is properly implementing Google’s mapping APIs, such as the Google Maps Javascript, Static Maps and Street View Image APIs. Ideal for partners and developers, the tool shows information about common API watchpoints and pitfalls, including issues related to your client ID, digitally signing a static maps request, and optimizing your quota. No longer will you need to sift through code or the Javascript console to identify implementation problems. You can see technical issues immediately by clicking an icon in the browser's address bar.
If you’re a Google Maps customer, we hope this new extension will make implementing Google Maps APIs an even better experience. Enjoy!

Tuesday, February 24, 2015

iNaturalist.org brings conservation to the masses using Google Maps APIs





Since we launched our maps, 70,000 participants have contributed more than a million observations and documented more than 50,000 species. We get a new observation every 15 seconds. The more information we gather, the better we can raise awareness for conservation and help combat extinction.

Tuesday, January 20, 2015

Transit Directions Improvements

Today we released a set of improvements to transit directions in the Google Maps APIs. If you use transit directions in your app, you can now show fare info and give your users the same mode and routing options as the Google Maps Android app.


blog01.pngblog02.png

Specifically, the changes are as follows:
  • Transit is now available in the Google Maps Distance Matrix API and the Distance Matrix service in the Google Maps JavaScript API v3. Previously it was only available in the Google Maps Directions API and the Directions service.
  • Transit directions will now return fare information where available, same as the Google Maps Android app. In the Distance Matrix API, this enables developers to find routes that minimize either the travel time or the fare.
  • Transit directions now accept transit options, same as the Google Maps Android app. Options include mode preferences (transit_mode=train|tram|subway|bus) as well as routing preferences (transit_routing_preference=less_walking or fewer_transfers).
  • Developers can now set departure_time=now in Directions API queries instead of specifying a timestamp. The departure_time parameter is now optional and will default to departure_time=now if not specified.

These changes are also available in the Directions service and Distance Matrix service in the Google Maps JavaScript API v3.

Posted by Elena Kelareva, Product Manager, Google Maps APIs

Wednesday, January 7, 2015

Save Time with Easy Maps API Integration from Java and Python


The Google Maps API provides a rich set of web services that allow developers to integrate them into connected applications. We've been making developers lives easier by making these services available in the JavaScript Maps API as tested code that simplifies interfacing with mapping services for quite a while now.

Recognizing that developers use different languages for their applications, we've developed client libraries to make integration of Maps API services easier, and we're happy to announce availability of libraries for both Java and Python. The bottom line is fewer lines of code are needed to integrate the Maps APIs, and let's face it, less code means less work which means faster time to market!

The libraries support these Maps API services:

Here's an example of how you'd use the Geocoding API with the Java client library:

// Replace the API key below with a valid API key.
GeoApiContext context = new GeoApiContext().setApiKey("AIza...");
GeocodingResult[] results =  GeocodingApi.geocode(context,
    "1600 Amphitheatre Parkway Mountain View, CA 94043").await();
System.out.println(results[0].formattedAddress);

By taking advantage of these client libraries, developers will save time integrating these services. Developing robust code that handle all the details of interfacing to these services can be left to our client libraries whilst the developer can concentrate on value added features in their applications.

Depending on which language you're using, some of the best features of the libraries include:

  • Simple interface
    • enables you to get started quickly and easily
  • Authenticated requests
    • handles the nitty-gritty of authentication keys and enterprise signing
  • Retry on failure
    • transparently deals with intermittent connection to server errors
  • Rate limiting
    • throttles the number of requests to the Maps API for quota management
  • Native objects
    • the interfaces are in your host language so no bridging code needed
  • Asynchronous or synchronous
    • you choose what style of interface to use, as we support both
  • Open source
    • easy to check out, understand, and contribute to if you like

If you're a Java developer, head on over to our github repository to get the code and browse the examples. If you develop in Python you'll find the Python specific code and samples here.

We've built these libraries to save you time and make it even easier to put Maps API services into your next world-changing app, let us know if you like them!

Posted by Alex Danilo, Developer Advocate

Friday, December 12, 2014

Announcing deprecation of the Google Earth API

Over six years ago we introduced the Google Earth API, enabling developers to build rich 3D mapping applications in the browser, using JavaScript. And over the years, developers have built quite a number of fascinating applications.

However, the Earth API is built on a technology called the NPAPI plugin framework, and recently, for security reasons, both Chrome and Firefox have announced they’re removing support for this framework. These security reasons, combined with dwindling cross-platform support (particularly on mobile devices), had made building applications that leverage the Earth API untenable for developers.

Therefore, after careful consideration, we have decided to retire the Google Earth API. Per our deprecation policy, the API will be supported until one year from today and will be turned off on December 12, 2015.

For the duration of the deprecation period, the set of supported browsers is as follows. Because of the recent Chrome and Firefox announcements, support on those browsers extends only to the latest browser version that supports NPAPI.

  • Microsoft Windows (XP, Vista, 7, and 8)
    • Google Chrome 5.0-39.0 (32-bit)
    • Internet Explorer 7-9, and 10-11 with Compatibility View (32-bit) (Note that the Windows 8 browsing mode with Internet Explorer does not support plugins.)
    • Firefox 11.0-34.0
  • Apple Mac OS X 10.6 or later (any Intel Mac)
    • Google Chrome 5.0-39.0 (32-bit)
    • Safari 3.1+
    • Firefox 11.0-34

Google Earth has a proud legacy, which continues with the new Google Earth for Android, powered by a brand new renderer. 3D is in our blood, and while we can’t announce anything just now, we look forward to sharing more exciting product news in the future.

Thursday, November 20, 2014

Localization of Street Addresses in the Google Maps APIs

The Google Maps APIs have been making maps universally accessible to developers and users for over 10 years. With over 50 supported languages, almost everyone can view the map in their own language.


But sometimes an address translated to your language isn’t the most useful result. Whether your map says London, Londres, Лондон or 伦敦, only the first of these will match local street signs or help you communicate the address to locals.


If you view geocoded addresses in locations with different local languages, today we launched a change that will make life easier for you. Street-level addresses returned by the Google Maps Geocoding API now favor the local language, while keeping the address understandable as much as possible for both a user who only reads the requested language as well as locals.


sf.png


If the local language and user language both use the same alphabet, the Geocoding API will now return the local names for the streets and localities. For example, searching for an address in Brazil with user language set to English now returns “Avenida Paulista” rather than “Paulista Avenue”.


If the local language and user language use different alphabets, the Geocoding API will return the local name, transliterated into the Latin alphabet. In some cases, an English translation may be returned, for example if no transliteration is available. For example, searching for El Tahrir Square with user language set to Japanese now returns “El-Tahrir Square, Ismailia, Qasr an Nile, Cairo Governorate, エジプト” rather than “エジプト カイロ県 Qasr an Nile, タハリール広場” (the old result) or “ميدان التحرير، قصر النيل، محافظة القاهرة‬، مصر” (the local name). The Latin result is more likely to be readable by both a Japanese traveler and an Egyptian local, whereas the Japanese traveler is unlikely to be able to read the Arabic address, and Egyptian locals are unlikely to be able to read the Japanese characters.


Queries where the requested language is the same as the local language are unaffected. Note that the requested language can be specified either using the language= parameter, or the browser’s Accept-Language header. If neither of these is provided, the native language of the Google domain is used as a default (for example, English for maps.googleapis.com).


This change also applies to addresses returned by the Directions API and Distance Matrix API, as well as services in the Google Maps JavaScript API v3. The Places API is not included at this time.


To learn more about localization in the Google Maps APIs, see the Google Maps JavaScript API v3 documentation. To learn more about the Geocoding API, see the Geocoding API documentation.

Posted by Elena Kelareva, Product Manager, Google Maps APIs

Wednesday, November 19, 2014

Introducing Street View and Photo Spheres in the Maps Embed API

Several months back we released a new Google Maps Embed API which enables developers to generate HTML snippets that embed Google Maps within their own website. At that time, the astute reader may have noticed that Street View and Photo Spheres were missing. Until now!

Today, we added the ability to easily embed the Street View and Photo Sphere images you find in Google Maps and we’re also enabling the same capabilities programmatically in the Google Maps Embed API. These embeds use the new imagery viewer technology that powers Street View in the new Google Maps.

Embedding a Street View or Photo Sphere works similarly to the Street View Service in Google Maps JavaScript API v3 - specify a lat/lng or panorama ID to pick your location, plus heading and pitch to determine direction of the scene and angle of the camera.

Lastly, since this feature is part of the Google Maps Embed API, embedded Street View panoramas are also free of usage limits. So go forth and embed!