Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am doing a (non commercial) project where the client doesn't have the budget for purchasing map data like that provided by TeleAtlas.

They only need map data for a background map, and they'd like to use Google Maps as provider.

However, the solution has to integrate with their existing ArcGIS Server based solution.

Is it possible out of the box with ArcGIS Server (9.3.1) or perhaps through an extension (commercial or otherwise)?

share|improve this question

9 Answers 9

up vote -15 down vote accepted

Please NOTE: This Answer breaks Google Maps API Terms and conditions - so it cannot be 'correct' answer WITHOUT a Google Maps Enterprise license. http://code.google.com/apis/maps/terms.html

Why not just create a new ArcMap MXD with the Google Maps WMS feed added as a layer and turn that MXD into an ArcGIS Server service? Add in local caching in the ArcGIS Server service and you're done.

All map requests for the base imagery will be going through your ArcGIS Server setup (so increasing the load here) rather than going point-point (i.e. client browser direct to Google)...but depending on your network infrastructure this may not be a big deal.

Laine

share|improve this answer
    
This sounds like an interesting approach, however as far as I can see, Google does not provide any WMS services themselves. However, I can find 3rd party applications (e.g. sourceforge.net/projects/googlewms) exposing Google Maps as WMS, so that could be one solution, although it would add complexity to the solution having to deploy a separate WMS service. –  Cumbayah Jul 26 '10 at 9:03
    
I really wouldn't be doing this, since cascading services (i.e. having a service inside a map which is in turn published as a services) has a lot of issues. –  Devdatta Tengshe Aug 5 '10 at 18:46
5  
I would argue that this "right answer" will mislead others. If you read comments below, its not a legit way of consuming Google Maps. Google dont officially dish out their imagery/maps via WMS. –  Simon Aug 20 '10 at 8:29
5  
This A is still wrong. Google does not supply a WMS feed. Can either the author or a super-admin(?) update this? Its a very FAQ, and one that will appear in Google search results, and I dont want wrong answers being associated with gis.stackexchange. –  Simon Oct 30 '10 at 13:46
3  
Down-voting this answer because cascading services - putting service layers in an MXD and then publishing the MXD as a service - is generally bad practice. See resources.arcgis.com/content/kbase?fa=articleShow&d=35903 –  zwaap Nov 2 '10 at 15:56

There's no way that I know of for you to consume Google's maps and enable them to be requested from your ArcGIS Server. However, the current Javascript API allows you to add Google's images to your map.

Take a look at the ArcGIS JavaScript Extension for Google Maps.

You could also use the ArcGIS Online basemaps (an introduction for which is available here) via the Silverlight, Flex, or Javascript APIs.

share|improve this answer

In addition to using ArcGIS online tools, it may be possible to use the ArcGIS server data -- via open APIs like WMS or WFS -- in OpenLayers, an Open Source web mapping toolkit. OpenLayers wraps the Google Maps Javascript API -- along with several others like Bing, and Yahoo! -- and adds support for open standards like WMS/WFS, as well as support for OpenStreetMap.

There is existing support for using some of the ArcGIS APIs, and the community is generally supportive of finding solutions to use existing ESRI services with proprietary base maps like Google Maps.

share|improve this answer
    
+1 for the opensource solution. –  George Jul 25 '10 at 15:39

Back before you could just add it as a resource, someone cooked up some ADF code that let you connect to Bing (then Virtual Earth) and treat it like another service.

I can't exactly remember who did it and where the code could be found, and I think it was was for Server 9.2, but this looks a little familiar:

Custom Data Source VE for AGS
http://arcscripts.esri.com/details.asp?dbid=15504

You might have to jump through some hoops to add a Google map behind your service, and/or rely on an ArcGIS Server for functionality, but I bet it's do-able.

share|improve this answer

It might be easier to get your clients to consider using Microsoft's Bing Maps as a background as this can be accessed for free out of the box. The only catch here is you would need to be running ArGIS Server 10 since at 9.3.1 you still need to pay for access. Here is a link to and ESRI page with more info. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html

share|improve this answer
    
Thanks, but like I wrote, I am looking for a way to support Google Maps, not Bing. –  Cumbayah Jul 30 '10 at 11:44

Google dont server up their maps as WMS. Only legit way to consume it with ESRI apps is through the ArcGIS JavaScript Extension for Google Maps API.

Bing is a better bet.
Publishing WMS through a cascading map service is bad practise for performance reasons anyhow.

share|improve this answer

Google's Terms and Conditions do not allow this.

You can only get access to their basemaps if you use their map control. The ArcGIS JavaScript Extension for Google Maps API works with their map control and allows you to overlay services from ArcGIS Server.

share|improve this answer

While you cannot access the Google Maps tiles directly (barring an explicit agreement negotiated with Google directly, which is unlikely), you can use the Google Static Map API. Of course, you would have to comply with that API's terms of service.

My colleague Rex explains this all very well in his blog post on the subject, in addition to providing a fully functional sample for the ArcGIS API for SL/WPF.

As to rolling a WMS layer inside an MXD and publishing as a service, this goes against ArcGIS Server best practices. A better approach is to work off of Rex's sample or, if you can't use Silverlight, write your own layer type for the JavaScript or Flex APIs.

share|improve this answer

while it won't help with web apps, you can check out this new service that we'll be adding to Arc2Earth where you can purchase access to worldwide Google Map data (as well as access to their other Map services: Elevation, Routing, Geocoding etc) directly from ArcMap

cheers brian

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.