Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
The GMap module comes with a quick and dirty node map that shows you the location fields of all your nodes in your Drupal site and you see it right here at /map/node. This is the easiest way of adding an interactive map to your site and the options in the GMap and GMap location administrative screens give you a certain amount of control. But we can do better with Views. Let's put together a map right now that shows the same as this but with much more useful information when you click a pin and to be filterable by state. To do that, we'll create a view by going to Administer > Site building and Views. Then click Add to create our view. We'll call this view family_map. The description is Family map. It's of type node, so we don't have to change anything else. Just click Next.
As usual, we'll add some filters. We are going to show all of the household nodes that have been published. So we scroll down show only the Node group just to make it a little easier and scroll down a bit further, add Published and Type, and Add, Yes only those that have been published and those that are of type Household and Update. One more thing that you've noticed I do in just about every view is I change the Items to display. So instead of only showing 10, we show 0. That is to say all of them and click Update. Just so that we are showing something, as usual I'll add one field, which is node title. Again, show only the Node group, go down so we can see what we are working with, find the Node: Title and Edit.
I'll get rid of the Label, and Link it to its node and Update. All of this stuff I do with pretty much every view that I create, but so far we haven't actually created a map. That's actually very easy with the GMap module. All we have to do is go up here and change the Style from Unformatted to GMap and click on Update. There's several options that we could change here. The most important one is which marker we want to show. In our case, we are only showing markers for one content type so it doesn't really matter that much. But let's actually say we want to change it By content type. And if we are showing a marker that is for some reason not of a content type, we'll make it Orange and I click Update and then Save.
Hurray! This looks very familiar, doesn't it? Very much like the other map that we saw earlier. But we can do so much more with it. Let's go back and edit it. Remember, it's just a view. It's just that it appears like a map. One thing that we can do differently from that out of the box map is we can add any sorts of fields we want. Now these fields are what show up when we click on one of those map pins. For example, let's show who the occupants are in each of those households. Click on Add, scroll down, scroll down to Content because remember it's a custom field and those all show up under Content and choose Residents and Add.
Here we have one additional option we didn't have when we added other fields, which is how many values do we actually want to show. We might decide that for large households, we only want to show the first three listed, for example, or skip over the first. In our case, let's leave it on the defaults and see how that looks. Scroll down. Click on Update default display and Save. We automatically go back to our page. Now if we click on one of those map links, we should see both the household address and its occupants and indeed we do. If we were to click on any of these, of course, we would go to the nodes that contain them. But let's go back and do some more little tricks. You will be amazed when we are done, and all of the things you can do with GMap.
As an example, I'm going to give our users the ability to filter what states they see, so they can look at only California. Furthermore, they will only be given a choice of those states that have residence in them. To do that, we'll add an attachment at the beginning of the map. Don't worry if you don't understand completely what's going on. If you go back and review the video about attachments, it should be more clear. So we add an attachment like this and we want it to be before our page display. Go down to make that so. We actually will make it before both the Default and Page. The reason for that is if we later add a block, then it will show up before the block as well and click Update.
Now we are going to do something a little tricky involving arguments that's going to let us see only specific states. To do that, we'll add an argument by clicking on the plus sign and scrolling down. Now remember we wanted to look at the states, in location they are called provinces but that's easy enough to know, scroll down a bit and it's actually in this Location group, click on Location: Province, click Add and then let's just leave things at the default and see how it works. Scroll down to the bottom, Update default display, scroll up again and Save. The map didn't change.
However, if we go up to the URL and type in /CA and then hit Enter, we see only those people who are in California, the interface is really not that good. We can improve it with an attachment. Go up to Edit, and in the Attachments, we are going to override this argument. You'll see why in just a moment. Click on it once and go down and Override it and Update. Now we have changed the argument for the location, scroll down and instead of displaying all values, it will display what's called a Summary, scroll down further and Update. When we change into the Summary view, we have this choice of List or Unformatted and we can actually see what that looks like down below.
This is the List view when we click Update and then we are given additional options. You can see that views goes quite deep once you start clicking through and adding relationships and arguments and attachments. That's why we can't actually show everything in this course, but hopefully we'll give you enough so you can start to learn more on your own and from the drupal.org website. I will click on Update to see how that looks. Okay, we are getting an idea of what exactly this is going to look like, but the best way to see it is to click Save and go back to our page. I remove the argument here and now we can see how many households are in each state, and if we click on any one of these, we go to the household in that state.
Unfortunately, there is still an error, which is that when we go to any one of those states, we lose our ability to click around and see what's in other states. We can fix that though, go to Edit and our Attachment settings, you see this Inherit arguments, we'll turn that off so that the main view will go to that place that we have indicated such as California or Illinois or whatever, but the title, the attachment at the top will still show everything. Click on Yes, and turn it to no by unchecking the box, then click on Update.
Finally, I don't think I like that List view, so instead I'm going to go up here and change it to Unformatted. And once again, I get a number of options. I'll display them inline with a Separator, click Update and Save. Now we have quite a view. Let's click on California and you see we still have our list of who lives there, scroll down and you can see the entire map. You might remember in our GMap Settings, we turned on something to auto-zoom. That's why it's zooming directly to the state where those people are. You could have set it so that it didn't auto-zoom in which case it would continue to show the entire country, but would only show those pins where there were people and households. And when we click on any of these pins, we get not only the address, but who lives there.
As you can see the Location GMap Views combination lets you create some very impactful displays but each of those three pieces is really tricky. Don't get discouraged if you find the things aren't working the way you expect. While preparing this video, I fell into several traps, I setup my relationship backwards, I couldn't get the map to appear correctly and so forth. So I had to go back and setup several things again and then go forward. Finally, I want to reiterate something. The location in maps combination isn't the only game in town. The newer combination of the Geo and Nice Map modules holds a lot of promise. One thing is for sure. Mapping is an area where Drupal truly shines in the hands of a clever administrator. To keep up on the latest news in the field, be sure to follow the discussion at groups.drupal.org/mapping.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.