WP Google Maps

We have several clients that are in need of a store/dealer locator map. For a few years, we used the free version of WP Google Maps as we didn’t really need any of the pro functionality. It works great when you are manually inputting locations and the search feature works well.  But if you need to import thousands of locations, then things get to be a bit complicated.

We purchased the developer version of the plugin to take advantage of the extra support forum and  the addons for the plugin that we anticipated needing in the future. (The support is great though it would be most awesome if the plugin worked effortlessly 100% out-of-the box.)

The first stumbling block was that the sample csv file download does not have all the fields needed for import. Hence, we created a test import and it failed miserably until we dug around a bit more and found what all the fields were supposed to be.  We tested on several servers with various settings, and regardless of the amount of php allowed memory, we could not import the entire 4,000 entries at once without the map program crashing. The issue, whether you need it to add the geotag latitude and longitude or not, is there are more limitations in place regarding php, mysql, server uploads, the order in which the plugins are loaded, and the Google API. Suffice it to say, the imports need to be broken down into chunks of around 200 to 500 to import, and not all locations actually import so you then have to go back and “eyeball” your csv file to check which ones didn’t make the cut.  Again, this appears to be more a  limitation regarding the Google API than the program itself but it would warrant more investigation to actually pinpoint the problem.

We also ran into a timeout error with the Google API by reaching our daily quota. We had to shut down work on the map for the day and start back up the next day. Now, this should not have happened with only importing 5,000+ locations, with about 1,000 of them we already had the geotag information and didn’t use the Google API for those. We cannot imagine how we used 25,000 API queries up already.

The latest set of locations we attempted to import continually came up with a -no, etc. error. The advice from support was to resave the csv file in UT-8 format, which resulted in the same error. We then decided ourselves to just save the file in csv MS DOS format, and the import then worked.  At this point, we then sliced and diced all the 5,000+ locations into smaller bites, and resaved them all in this format. Some of the csv files imported with nothing more than the “Your CSV file has been successfully imported” message.  Others we got the below screen. It appears the file imported correctly but I would rather it told me how many rows in my csv file imported so I knew it was 100% successful.

FYI – only use the Map Data if you want to totally replace all the locations you have already uploaded. However, unless you already have the geo coordinates in your csv file, you will not activate the Google API.  Speaking of the Google API, there are directions to secure your Google API key for just your domain, but when we tried that, we were denied access to it, so we had to disable it. After all the imports are completed, we will log back into Google to restrict it to our domain and cross our fingers we don’t get any errors when visitors to the site are searching.

If you are adding a map and want to save a previously created map, export all your listings before you do anything. In the process of creating our new map, our existing, live map of locations was totally deleted, as well as all the special settings we had created. It makes absolutely no sense that adding a new map and not touching one of the others affected the other map, but it did. Luckily, the map we were adding was destined to replace the live one anyway.

And, if you get the below screen, apparently, never fear, as the import was mostly successful. And this is on a Managed WordPress server with all the settings at the maximum level. Just hit the back button on your browser and check to see if the locations were imported.

Every time we click on the map in the backend to check it or adjust settings, it takes several  seconds or so for the map dashboard to rearrange itself so we can actually do anything. Just be patient, and the dashboard will appear and you can get on with it.

You might be wondering why we were creating a new map to replace the one that was already on the site? Because the Select All and Bulk Delete buttons do not work in the plugin, so the only way to successfully delete a location is one-by-excruciatingly-one. And, to replace an entire set of locations at once with a new set is a fairly common request as stores and dealers are opening and closing all the time, and periodically the wholesaler will update the list at once and send it to you so you have no idea who is gone or who to add so you must just import the entire list (and it does not have the ability to search and replace, it just adds the location twice in the database).

All this being said, once all the locations are imported, and the ones that were missed are manually entered after several hours of eyeballing the csv files, the map program works great.  Just be ready for some bumps along the way.

This entry was posted in Coding, Custom WordPress, Genesis. Bookmark the permalink.