So Pablo and I are working on an exciting new project — devoted to student research abroad–which is heavily dependent on being able to include an embedded interactive multimedia Web map. (You can look at the project here: W&M Global Mapping, but it isn’t ready for prime time as of this writing, so depending on when you visit the site, you may get crazy results. We’re hoping to have the site fully armed and operational by summer 2013.)
The thing about Web-based mapping projects is, you need a mapping solution, and the mapping solution either has to do what you need it to do or you need to modify your project to fit what the mapping software can actually do. The easy answer is to just embed a Google map, and for simple, individual projects, that works fairly well. Google Maps is easy to use, you can collaborate with other people on the same map, and the maps are highly customizable. However, for this particular project, Google Maps is just not flexible enough. Our project is fairly large, not from the perspective of actual data, but in terms of scope.
The idea is to have a world map that aggregates all the student research that goes on abroad (and at home, for that matter), and the Google Maps standalone application just doesn’t have the capacity to do one tiny, but crucial, thing we need. Specifically, there’s no way to add layers that either display or are hidden depending on your zoom level. When you’re zoomed way out, for example, you want to see country boundaries but not every single student project (that would be impossible to navigate), but as you zoom in, you want those country boundaries to disappear and you want those individual student projects to appear.
However, when you build a Google map through the Google Maps site, it’s all or nothing. You have to see everything all at once. There are no layers to turn on or off at various zoom levels. When you’ve got dozens of individual points in close proximity, it quickly becomes unpleasant to view a map that’s zoomed out. Se the images below for examples. The map to the left shows what we want to happen: the layers appear and disappear as you zoom in, and the map to the right shows how Google Maps does things: points and shape files all the time:
Now that you have been hypnotized by the zooming maps, here is the crux of the problem. Since Google Maps can’t do this one very crucial thing, the question is, what can we use? Our two options seem to be:
- Learn the Google Maps API and hope that we can program our maps to do what we need, or
- Use ArcGIS Online to create our maps.
The obvious first choice for me before learning an entirely new coding language is to try ArcGIS Online, since all the map creation and editing takes place in the webpage’s GUI, and there are lots of options. We can create layers, set them to turn on and off at various zoom levels, embed the map easily into our website, and create nice interactive map areas that allow for clickable links, images, and more. Oh, speaking of clickable links, one other huge difference between Google Maps and ArcGIS online: If you create a hotlink in Google Maps and then embed that map into a website, clicking on that link in your map will open the new window in your webpage inside the area where the embedded map used to be. As of this writing, there’s no way I have found to escape the embed. This is actually the biggest drawback to using Google Maps and why it would be impossible to use. Strangely, with ArcGIS online, a link from your map opens the new page in a different tab, and there’s no way I’ve been able to find that you can have the link open in the same tab. While this can be frustrating, it’s not exactly a deal breaker. It just means that you end up with a bunch of new tabs if you’ve got a very interactive map.
Anyway, as we work through ArcGIS online, we come up with something new it can’t quite do, but we have not yet hit the wall where we’ve decided it will not work for our project. Some of the things we’ve hit up against in ArcGIS online:
- There’s no good way to export your map. Google Maps at least lets you export your map as a KML file
- There’s no way to share your map with another user in a way that lets both of you edit the same map. The best you can do seems to be to share a read-only map that the other user can save as their own map. This is a problem when you want to work on a collaborative project. Google Maps allows you to share a map with editing permissions.
- ArcGIS Online allows you to import a KML file into your map, from a Google map, for instance, but then you can’t really edit the information that came from that KML. So you would have to import the KML into the desktop version of ArcGIS, convert the KML data to layer data, and then export the desktop ArcGIS file to ArcGIS online. Not only is this only available to people who have the desktop version of ArcGIS, but the desktop version of ArcGIS has got to be the most arcane, difficult-to-use program I’ve seen in a long time.
- Here’s a small one, but it would be nice if you could embed a YouTube video into the popup textboxes in ArcGIS online. You can do this with Google Maps pretty easily.
Okay, so enough complaints about Google Maps and ArcGIS online. For the time-being, Pablo and I will continue to try to shoehorn our project into the ArcGIS online framework, and hope that some of the glaring problems with the online application improve in the near future. I don’t want to learn the Google Maps API, so for now, pretty good is going to have to be good enough.